ホームページ >ウェブフロントエンド >jsチュートリアル >slideToggle+slideup は携帯電話の折りたたみメニュー効果のサンプル コードを実装します

slideToggle+slideup は携帯電話の折りたたみメニュー効果のサンプル コードを実装します

小云云
小云云オリジナル
2018-01-10 13:30:061810ブラウズ

この記事では主に携帯電話で折りたたみメニュー効果を実現するためのslideToggle+slideupを詳しく紹介します。興味のある方はぜひ参考にしてください。

メニューを折りたたむ効果については、Bootstrap の Collapse など、使いやすく非常にシンプルなプラグインがインターネット上に多数あります。ただし、Bootstrap フレームワークを使用していない場合は、さまざまな問題が発生します。デフォルトのスタイルが変更されたり、コードが冗長になったりするなど、不要なトラブルが発生します。 一般に、インターネット上には jQuery ベースのプラグインが多数ありますが、それらはあまりにも煩雑です。 今回は、jQuery 独自の機能を使用してプラグインを実行する方法を説明します。この効果を実現するには、あまり言う必要はありません。コードに移動するだけです。

HTML 部分:


<p class="box">
  <!-- 内容-->
  <ul class="inner">
    <li class="inner_title">绿色校园<span></span></li>
    <ol class="inner_style">
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
    </ol>
    <li class="inner_title">绿色校园<span></span></li>
    <ol class="inner_style">
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
    </ol>
    <li class="inner_title">绿色校园<span></span></li>
    <ol class="inner_style">
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
    </ol>
  </ul>
</p>

CSS 部分:


<style>
  body{
    background: #dddddd;
  }
  .inner{
    background: #fff;
    width: 100%;
    overflow: hidden;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .inner .inner_title{
    background-color: #fff;
    width: 100%;
    padding: 0 2.5%;
    border-bottom: 1px solid #efefef;
    color: #343434;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    position: relative;
  }
  .inner .inner_title span{
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    margin-top: -10px;
    right: 6%;
    background: url("images/arow_left.png") no-repeat center;
  }
  .inner .inner_title.active{
    color: #4db780;
  }
  .inner .inner_title.active span{
    background: url("images/arow_down.png") no-repeat center;
  }
  /*弹出的二级分类处理*/
  .inner .inner_style{
    margin: 0;
    list-style: none;
    width: 100%;
    background-color: #efefef;
    overflow: hidden;
    padding: 15px 3%;
  }
  .inner .inner_style li{
    float: left;
    color: #333;
    font-size: 14px;
    width: 21%;
    text-align: center;
    line-height: 30px;
    margin-right: 5%;
  }
</style>

js 部分 (jQuery を導入することを忘れないでください):


<script>
  /**处理折叠效果**/
  (function ($) {
    $.fn.Fold = function (options) {
      //默认参数设置
      var settings = {
        speed: 300 //折叠速度(值越大越慢)
      }
      //不为空则合并参数
      if (options)
        $.extend(settings, options);

      //遵循链式原则
      return this.each(function () {
        //为每个li元素绑定点击事件
        $("> li", this).each(function () {
          $(this).bind("click", function () {
            //单击之前先判断当前菜单是否折叠
            if($(this).hasClass(&#39;active&#39;)){//折叠状态
              $(".inner ol").slideUp(&#39;500&#39;);//使用slideup()折叠其他选项
              $(this).removeClass(&#39;active&#39;);//移除选中样式
            }else{//打开状态
              $(this).siblings(&#39;li&#39;).removeClass(&#39;active&#39;);
              $(".inner ol").slideUp(&#39;500&#39;);//使用slideup()折叠其他选项
              $(this).addClass(&#39;active&#39;)//添加选中样式
              $(this).next("ol").slideToggle(settings.speed);
            }
          });
        });
        //默认折叠
        $("> ol", this).hide();
      });
    }
  })(jQuery);
  $(".inner").Fold();//调用
</script>

効果は次のとおりです:

関連する推奨事項:

簡単な分析トグルとスライドの違いjquery のトグル

jquery の非表示、イベントの表示とコールバックのプロンプト、フェードインとアウトフェードトグル、スライドインおよびスライドアウト slideToggle、アニメーションアニメーション停止アニメーション停止

JQury slideToggle 点滅する問題と解決策 方法

以上がslideToggle+slideup は携帯電話の折りたたみメニュー効果のサンプル コードを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。