jquery – materializeCSS可折叠活动更改图标.

前端之家收集整理的这篇文章主要介绍了jquery – materializeCSS可折叠活动更改图标.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一些可折叠的帮助我试图在它们处于活动状态时更改标题上的图标但是似乎无法解决问题,如果我点击另一个标题而不关闭第一个显示正确图标的标题.

这是一个包含我的问题示例的codepen.
http://codepen.io/FPC/pen/xZEWVY

这是我的代码

<div class="container">
  <div class="row">
    <div class="col s6">
      <ul class="collapsible popout" data-collapsible="accordion">
        <li>
          <div class="collapsible-header">
            <i class="material-icons right more">expand_more</i>
            <i class="material-icons right less" style="display: none">expand_less</i>
            Article Title
          </div>
          <div class="collapsible-body">
            <p>
              Content Snipit        
            </p>
          </div>
        </li>
        <li>
          <div class="collapsible-header">
            <i class="material-icons right more">expand_more</i>
            <i class="material-icons right less" style="display: none">expand_less</i>
            Article Title
          </div>
          <div class="collapsible-body">
            <p>
              Content Snipit
            </p>
          </div>
        </li>
        <li>
          <div class="collapsible-header">
            <i class="material-icons right more">expand_more</i>
            <i class="material-icons right less" style="display: none">expand_less</i>
            Article Title
          </div>
          <div class="collapsible-body">
            <p>
              Content Snipit
            </p>
          </div>
        </li>
      </ul>
    </div>
  </div>
</div>

这是我正在使用的JS

$(document).ready(function(){
  $( ".collapsible-header" ).click(function() {
      $(".more",this).toggle()
      $(".less",this).toggle()
  });
});

解决方法

你不需要使用javascript

删除javascript并仅使用css

HTML

<ul class="collapsible" data-collapsible="accordion">
  <li>
      <div class="collapsible-header">
       <i class="material-icons">expand_less</i>First</div>
   </li>
   <li>
      <div class="collapsible-header">
       <i class="material-icons">expand_less</i>Second</div>
   </li>
</ul>

CSS

.collapsible li.active i {
  -ms-transform: rotate(180deg); /* IE 9 */
  -webkit-transform: rotate(180deg); /* Chrome,Safari,Opera */
  transform: rotate(180deg);
}

猜你在找的jQuery相关文章