【问题标题】:Check if toggle true addClass else if not removeClass检查是否切换为真 addClass 否则如果不是 removeClass
【发布时间】:2014-11-09 00:44:09
【问题描述】:

(谢谢你们……我已经解决了)

如果可以的话,我需要你的帮助

我想在切换时显示 ... addClass "activeee" 并将其从其他 div 中删除,并且在切换时隐藏 removeClass

我的问题是:当我点击切换隐藏它(切换隐藏)它已经被隐藏但类不删除 这是我的jQuery代码

jQuery(document).ready(function($){


    $("#mashmenu-mod-1").click(function(){
         $(".mod-content").fadeOut();
        var mod1 = $(this).find(".mod-content").toggle();
        mod1;
        var Checkmod1 = $(this).find(".mod-content").data("toggled", "true"); 

        if(Checkmod1) {
            $("#mashmenu-mod-1").addClass("activeee");
        } else {
            $("#mashmenu-mod-1").removeClass("activeee");
        }
    });

    $("#mashmenu-mod-2").click(function(){
        $(".mod-content").fadeOut();
        $(this).find(".mod-content").toggle();
    });


    $("#mashmenu-mod-3").click(function(){
        $(".mod-content").fadeOut();
        $(this).find(".mod-content").toggle();
    });

});

【问题讨论】:

  • 显示的代码有什么问题?
  • 我的问题是:当我点击切换隐藏它(切换隐藏)它已经被隐藏但类不删除
  • 我很想建议创建一个 jsFiddle 来说明问题。我很确定,如果您花时间构建它,我们可以提供更好的建议。
  • 很抱歉我不能,因为它是 Wordpress 中的插件
  • 您不需要所有这些.ready() 电话。将所有代码合二为一。

标签: javascript jquery html


【解决方案1】:

var Checkmod1 = $("#mashmenu-mod-1").data("toggled", "true");

上面这行代码会一直设置toggled为true,永远不会进入else,因此永远不会移除类

【讨论】:

  • 我很抱歉我的朋友...代码(QUISTION POST)已编辑查看... var Checkmod1 = $(this).find(".mod-content").data( “切换”,“真”);
【解决方案2】:

如果 #mashmenu-mod-1 被切换,我认为您正在尝试将 Checkmod1 设置为 true,但 data("toggled", "true") 不会返回切换属性的当前状态 - 它创建并设置属性“切换”到字符串“真”。见data() documentation here

改为使用以下命令检查状态:

var Checkmod1 = $("#mashmenu-mod-1").is(":hidden"); 

【讨论】:

  • 我的回答仍然适用。 Zoheiry 的回答仍然是正确的。 data("toggled","true") 不返回toggled的状态。
  • 好吧,我想你这么多,我自己修好了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
  • 2020-12-20
  • 2017-09-17
  • 1970-01-01
  • 2011-02-26
  • 2016-04-06
相关资源
最近更新 更多