【问题标题】:Jquery cycling between two functionsJquery在两个函数之间循环
【发布时间】:2017-12-26 15:56:18
【问题描述】:

您好,我正在制作一个必须在两个功能之间循环的切换器,刚刚学会了如何使用独特的触发器:

jQuery.fn.clicktoggle = function(a, b) {
  return this.each(function() {
    var clicked = false;
    jQuery(this).bind("click", function() {
        if (clicked) {
            clicked = false;
            console.log(clicked);
            return b.apply(this, arguments);
        }
        clicked = true;
        console.log(clicked);
        return a.apply(this, arguments);
    });
  });
}
jQuery("myTrigger1").clicktoggle(myOpen, myClose);

当我有一个独特的触发器时,这可以正常工作,即“myTrigger1”......但是如何在两个触发器中做到这一点?

jQuery(".myTrigger1, .myTrigger2").clicktoggle(myOpen, myClose);    

循环不正常...当我单击其中一个触发器时,它会在打开和关闭两个功能之间切换,但是如果在操作为“myOpen”时单击另一个触发器,我必须单击两次。 ..

如果我有 3 个触发器来做同样的事情呢?

函数“myOpen”和“myClose”不是jQuery.toggle 函数,它们是内部的一些代码。

请帮忙!

【问题讨论】:

    标签: jquery triggers cycle


    【解决方案1】:

    我通过将类附加到可以从函数内部检查的元素找到了解决方案:

    jQuery('.myTrigger1, .myTrigger2').on('click', function (event) {
        jQuery('.myDiv').toggleClass('toggled');
            if (jQuery('.myDiv').hasClass('toggled')) {
                myOpen();
            } else{
                myClose();
            }
    })
    

    【讨论】:

      猜你喜欢
      • 2015-05-20
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      相关资源
      最近更新 更多