【问题标题】:Only allow .click event if window size below certain number仅当窗口大小低于特定数字时才允许 .click 事件
【发布时间】:2013-02-26 20:49:30
【问题描述】:

我有一个#div1,当点击它时应该用 jquery 切换#div2。只有当窗口大小低于 760 像素时,此点击事件才应执行该功能。我不擅长 javascript,所以我得到了错误的结果......当用户单击 #div1 时,它不会切换 div,而是在您将窗口大小调整到 760 像素以下时自动切换。 我确定 if 语句的顺序或其他东西的顺序存在明显错误。

这是我的代码:

$(function(){
    if($(window).width() <= 760){
        $('#div').click(function(){
                $('#div2').toggle({"display":"block"});
        });
    }
});

希望我的问题可以理解。

谢谢!

【问题讨论】:

    标签: javascript jquery if-statement screen-size


    【解决方案1】:

    您的订单有点混乱。应该是

    $(function(){
        $('#div').click(function(){
            if($(window).width() <= 760){
                    $('#div2').toggle({"display":"block"});
            }
        });
    });
    

    【讨论】:

    • 有趣的是,我什至以前也尝试过,它的行为方式完全相同:) 仍然如此。它在我调整窗口大小时触发...
    • 你有这个问题的工作示例吗?像一个 jsfiddle?
    • 不幸的是,不,我没有。我会重新考虑我的整个方法。也许还有另一种方式:)
    • 我刚刚回到我前面提到的'问题'...并找到了它的原因...我不打算在这里详细说明,但基本上是因为我有另一个js函数切换窗口 resize 上的元素。该其他功能实际上是用于一组其他元素的,但我错误地将错误的选择器放在那里。嗯,要多加注意。打扰您了!
    • 我想删除 window.resize 上的事件。那将是一个更好的解决方案。
    【解决方案2】:

    如果将 if 放在 .click() 中会怎样?

    $(function(){
       $('#div').click(function(){
        if($(window).width() <= 760)
          {
             $('#div2').toggle({"display":"block"});
          }
       });
    });
    

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 2012-02-24
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多