javascript - 使用jquery显示和隐藏产品li

标签 javascript jquery list show-hide

我有一个 list

<ul class="products">
   <li class="products">first</li>
   <li class="products">second</li>
   <li class="products">third</li>
   <li class="products">fourth</li>
</ul>

我想使用 jquery 来:
1-当用户点击除所点击的li之外的li时,隐藏其他li。
2-当用户再次单击事件 li 时显示所有 li。

这是脚本:

$(window).load(function(){
$(".products li.active").click(function(){
    $(".products li").show("slow");
    $(this).removeClass("active");
});
$(".products li").click(function(){
    $(this).addClass("active");
    $(".products li:not(.active)").hide("slow");
});
});  

它适用于第一步,但是当用户单击事件 li 时,没有任何变化。

最佳答案

试试这个:

$(window).load(function(){
   $(".products li").click(function(){
      if ($(this).hasClass("active")) {
          //this is already active, show all
          $(".products li").show("slow");
          $(this).removeClass("active");
      } else {
          //this is not active yet, make active and hide all others
          $(this).addClass("active");
          $(".products li:not(.active)").hide("slow");
      }
   });
}); 

Live demo available here on JsFiddle

关于javascript - 使用jquery显示和隐藏产品li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12316843/

相关文章:

javascript - D3根据数据更新颜色

python - 为什么这段代码在某些情况下会引发 IndexError?

javascript - 如何为 Angular 表进行分页?

javascript - iframe 内容返回未定义

python - 从字符串列表中返回带有整数和字符串的列表

html - 有没有办法让 html 列表表现得像这样

javascript - 当选中复选框时,值(value)价格不会转换

javascript - 在 reactjs 中首次运行时在控制台上获取空对象

javascript - 图表JS。更改轴线颜色

javascript - css odd even 不使用伪元素