【问题标题】:Deselecting the list item activated and activating the other one by default using jquery默认情况下使用jquery取消选择激活的列表项并激活另一个
【发布时间】:2017-11-08 10:47:24
【问题描述】:

您好,我的网站中有类别列表。如果用户第二次单击该列表类别,则为取消选择该类别的书面 jquery 代码。一旦用户单击所选类别,它应该被取消选择并默认选择所有按钮类别。

现在,如果我第二次单击所选类别,则会取消选择该类别,但默认情况下未选择所有按钮。

代码:

jQuery(document).ready(function() {
  jQuery(".tribe-events-category-5").addClass("active");
  jQuery(".tribe-events-category-5").trigger("click");
  jQuery("#legend li").on("click", function() {
    jQuery("#legend li").not(this).removeClass("active");
    jQuery(this).toggleClass("active");
  });
  jQuery(".tribe-events-category-5").addClass("active");
});
#legend li:not(.active) {
  opacity: 0.3;
}

.tribe-events-category-5 {
  background-color: #800000;
  border-left: 5px solid #800000;
  border-right: 5px solid transparent;
  color: #fff;
  line-height: 1.4em;
  padding-left: 5px;
}

#legend li {
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="legend">
  <li class="tribe-events-category-all"><span>All</span></li>
  <li class="tribe-events-category-5"><span>Music</span></li>
  <li><span>Dance</span></li>
  <li><span>Festives</span></li>
</ul>

【问题讨论】:

  • 你想做什么并不清楚
  • @Bhargav 到目前为止,当我默认打开网页时,如果我第二次单击,它将被选为音乐,音乐选项卡将被取消选择。一旦取消选择,所有选项卡都应被选中默认情况下
  • 您也必须为您所指的标签添加代码。
  • @MuhammadOmerAslam 不明白你在说什么
  • 所有其他li颜色变化或之后有什么效果

标签: javascript jquery html


【解决方案1】:

不确定这是否是您所期望的。看看它。这是您的代码的一个小提琴,但已经编辑了一点,而不是一直使用 jQuery,您可以使用 $ 代替。

$(document).ready(function(){

$(".tribe-events-category-5").addClass("active");

$("#legend li").on("click", function(){    
$("#legend li").not(this).removeClass("active");
if($("#legend li").hasClass("active")){
$(".tribe-events-category-all").addClass("active");
}else{
$(".tribe-events-category-all").removeClass("active");
}
 $(this).toggleClass("active");
});

});
#legend li:not(.active) {   
opacity: 0.3;
}
.tribe-events-category-5{
background-color: #800000;
border-left: 5px solid #800000;
border-right: 5px solid transparent;
color: #fff;
line-height: 1.4em;
padding-left: 5px;
}
#legend li{
cursor:pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<ul id="legend">
<li class="tribe-events-category-all"><span>All</span></li>
<li class="tribe-events-category-5"><span>Music</span></li>
<li><span>Dance</span></li>
<li><span>Festives</span></li>
</ul>

【讨论】:

    【解决方案2】:

    您可以通过查找All 的类并使用jQuery(this).prev('.tribe-events-category-all').toggleClass("active"); 像这样切换它来简单地实现它

    jQuery(document).ready(function(){
    jQuery(".tribe-events-category-5").addClass("active");
    jQuery(".tribe-events-category-5").trigger("click");
    jQuery("#legend li").on("click", function(){ 
    jQuery("#legend li").not(this).removeClass("active");
    jQuery(this).toggleClass("active");
    if(!$(this).hasClass("tribe-events-category-all") && !$(this).hasClass("active")){
    jQuery(this).siblings('.tribe-events-category-all').toggleClass("active");
    }
    });
    jQuery(".tribe-events-category-5").addClass("active");
    });
    #legend li:not(.active) {   
    opacity: 0.3;
    }
    .tribe-events-category-5{
    background-color: #800000;
    border-left: 5px solid #800000;
    border-right: 5px solid transparent;
    color: #fff;
    line-height: 1.4em;
    padding-left: 5px;
    }
    #legend li{
    cursor:pointer;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul id="legend">
    <li class="tribe-events-category-all"><span>All</span></li>
    <li class="tribe-events-category-5"><span>Music</span></li>
    <li><span>Dance</span></li>
    <li><span>Festives</span></li>
    </ul>

    【讨论】:

    • @Ashalatha 检查我的答案,看看它是否符合要求
    • 不,默认情况下它不工作音乐会突出显示,如果我再次单击音乐,它将在那时被取消选择所有应该突出显示,如果我选择另一个而不取消选择音乐,则以同样的方式应突出显示我选择的音乐,应取消选择音乐
    • 你写的代码是如果我选择其他选项卡,如舞蹈或节日等,之前选择或没有被取消选择
    • 只有在取消选择音乐时才会选择所有按钮,否则它不起作用
    • @Ashalatha 我刚刚再次更新它,现在当您没有从任何其他选项中选择任何内容时,所有内容都将处于活动状态。如果您选择任何其他选项,则 All 将不会处于活动状态。让我知道它是否符合您的要求:)
    猜你喜欢
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多