Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何同时运行脚本';有载';和';在调整大小';(在特定窗口宽度上!)在jQuery中?_Javascript_Jquery - Fatal编程技术网

Javascript 如何同时运行脚本';有载';和';在调整大小';(在特定窗口宽度上!)在jQuery中?

Javascript 如何同时运行脚本';有载';和';在调整大小';(在特定窗口宽度上!)在jQuery中?,javascript,jquery,Javascript,Jquery,在我当前的网站项目中,我已经集成了它,但由于它在移动设备上的行为非常罕见(也是由于我的项目的设计要求),我决定在视口宽度低于768px时关闭它。为此,我只需在脚本中添加一个简单的if语句: $(document).ready(function(){ if ($(window).width() > 768 ) { $('#fullpage').fullpage({ // code... code... code... }); } }); 问题是它只在刷新页面后

在我当前的网站项目中,我已经集成了它,但由于它在移动设备上的行为非常罕见(也是由于我的项目的设计要求),我决定在视口宽度低于768px时关闭它。为此,我只需在脚本中添加一个简单的if语句:

$(document).ready(function(){

if ($(window).width() > 768 ) {

  $('#fullpage').fullpage({

      // code... code... code...

  });
}

});
问题是它只在刷新页面后生效;因此,当我在768px以下重新加载页面时,插件被关闭,但当我在上述断点上方调整浏览器大小时,它仍然关闭(反之亦然)。我想我应该添加一些处理resize的代码,但不幸的是,我目前对JS/jQ的了解不允许我这么做。 提前感谢您的时间。

这应该可以:

$(window).resize(function(){

  if ($(window).width() > 768 ) {

    //do your thing here

  }

}
使用
$(document).resize(function(){/*do stuff*/})

然后可以在
onload

上使用$(document).trigger('resize')您可以使用jQuery
resize
事件。看

把你的代码,你想做的事情放到一个函数中。使用
$(function(){})在
文档就绪
上调用该函数,以及调整窗口大小时

$(function () {
    function doSomething() {
        $('#fullpage').fullpage({
                //The code
            });
    }

    $(window).resize(function () {
        //Do it on resize
        if ($(window).width() > 768) {
            doSomething();
        }
    });
    //Do it when page loads.
    doSomething();

});

下面是如何在激发
DOM ready
和在激发调整大小
时运行匿名函数:

$(document).ready(function() {
    $(window).on('resize', function() {
        //code to run
    })
    .trigger('resize');
});

谢谢你的回复,我实际上已经试过了,问题是如果我这样做,插件永远不会加载。调整大小事件可以调用很多次。在每次调用时,如果达到条件,您将初始化插件
$(窗口)。width()
检查视口宽度是一个坏习惯,请改用
窗口。matchMedia
:这里是polyfill以支持旧浏览器: