【问题标题】:Disable certain Javascript on devices在设备上禁用某些 Javascript
【发布时间】:2015-12-26 11:48:41
【问题描述】:

我正在构建一个网站,并且我正在使用媒体查询来使网站响应移动设备。在我的网站的桌面版本上,我使用以下 Javascript 使 2 个 div 在向下滚动 100 像素后淡入/淡出。

$(document).scroll(function () {
        var y = $(this).scrollTop();
        if (y > 100) {
            $('#firstHeadingLeft, #firstHeadingRight').fadeIn(3000);
        } else {
            $('#firstHeadingLeft, #firstHeadingRight').fadeOut();
        }

    });

现在的问题是,我不希望这个 javascript 在我的移动设备上处于活动状态,我希望 2 个 div 始终存在。我做了一些搜索,发现了这个

How to disable JavaScript in media query

其中一个建议是使用此代码添加事件侦听器

window.addEventListener('resize', function(){
if(window.innerWidth > 568){
    ...execute script
} 
});

但是,由于我不精通 javascript,我不确定如何正确地将我的代码包装到事件侦听器代码中。

如果有人能帮我一把,将不胜感激! -- 谢谢!

【问题讨论】:

  • 只需使用resize 事件(如您所拥有的)和onload 事件执行代码。你可以通过调用一个函数来做到这一点。你几乎已经拥有它了:)
  • 尝试使用screen.width 而不是window.innerWidth

标签: javascript mobile media-queries


【解决方案1】:

这应该可以,但我无法测试它。告诉我会发生什么:)

window.addEventListener('resize', function(){
   disableScript();
});

window.addEventListener('load',function(){
   disableScript();
});

function disableScript(){
    if(screen.width > 568){
      //...execute script
    } 
}

【讨论】:

  • @user3599852 如果它对您有用,请投票并接受为最佳答案:)(请阅读此meta.stackexchange.com/questions/5234/…
  • 等等.. 我刚刚在我的 ipad 上测试过。它不工作。 Javascript 仍在加载中,并且正在淡入淡出我的 Div。
  • 我认为这是因为 ipad 上的 window.innerWidth 高于 568
  • 尝试使用警报来找出答案。 (我没有移动设备来测试这个)。
  • 是的!将其更改为screen.width 已修复! - 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多