Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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函数和DOM加载?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 如何在函数运行期间暂停所有jQuery函数和DOM加载?

Javascript 如何在函数运行期间暂停所有jQuery函数和DOM加载?,javascript,jquery,dom,Javascript,Jquery,Dom,我正在使用jQuery scrollTo()在我的站点上平滑滚动。除了在初始加载期间,其他情况下工作良好。当页面上的图像被加载时,它会使平滑的滚动条变得不那么平滑,而且非常滞后。更糟糕的是,我还预加载了站点其余部分的所有其他图像,因此加载所有内容需要更长的时间(尽管是隐藏的) 所以问题是,您能否在scrollTo()期间停止所有处理,暂停所有加载,平滑滚动页面,然后返回加载 我用于scrollTo的jQuery: $('.smooth-scroll').click(function(e){

我正在使用jQuery scrollTo()在我的站点上平滑滚动。除了在初始加载期间,其他情况下工作良好。当页面上的图像被加载时,它会使平滑的滚动条变得不那么平滑,而且非常滞后。更糟糕的是,我还预加载了站点其余部分的所有其他图像,因此加载所有内容需要更长的时间(尽管是隐藏的)

所以问题是,您能否在scrollTo()期间停止所有处理,暂停所有加载,平滑滚动页面,然后返回加载

我用于scrollTo的jQuery:

$('.smooth-scroll').click(function(e){
            var dest = $(this).attr("href");
            e.preventDefault();
            $('html, body').animate({
                scrollTop: $(dest).offset().top -60
            }, 1000);
        });
对于图像预加载:

image1 = new Image()
image1.src = "images/image.jpg"

如果可以暂停所有这些,我需要在这里添加什么?

您可以防止像这样加载图像:

var unloaded = [];
$('img.noload').each(function (image) {
    unloaded.push(image);
    image._src = image.src;
    image.src = 'loader.gif'; // Use an loading image to prevent "ALT" attribute effect
});
滚动完成后(回调函数),调用real SRC并将其应用于不同的图像:

unloaded.each(function (image) {
    image.src = image._src;
});

请确保仅禁用内容图像(文本插图),因为此解决方案会阻止加载设计图像。

您可以像这样阻止加载图像:

var unloaded = [];
$('img.noload').each(function (image) {
    unloaded.push(image);
    image._src = image.src;
    image.src = 'loader.gif'; // Use an loading image to prevent "ALT" attribute effect
});
滚动完成后(回调函数),调用real SRC并将其应用于不同的图像:

unloaded.each(function (image) {
    image.src = image._src;
});

请确保仅禁用内容图像(文本插图),因为此解决方案会阻止加载设计图像。

您可以像这样阻止加载图像:

var unloaded = [];
$('img.noload').each(function (image) {
    unloaded.push(image);
    image._src = image.src;
    image.src = 'loader.gif'; // Use an loading image to prevent "ALT" attribute effect
});
滚动完成后(回调函数),调用real SRC并将其应用于不同的图像:

unloaded.each(function (image) {
    image.src = image._src;
});

请确保仅禁用内容图像(文本插图),因为此解决方案会阻止加载设计图像。

您可以像这样阻止加载图像:

var unloaded = [];
$('img.noload').each(function (image) {
    unloaded.push(image);
    image._src = image.src;
    image.src = 'loader.gif'; // Use an loading image to prevent "ALT" attribute effect
});
滚动完成后(回调函数),调用real SRC并将其应用于不同的图像:

unloaded.each(function (image) {
    image.src = image._src;
});

请确保仅禁用内容图像(文本插图),因为此解决方案会阻止加载设计图像。

您可以将所有jquery代码包装到$(窗口)。加载绑定将在加载所有内容后设置处理程序:

$(window).load(function(){
  $('.smooth-scroll').click(function(e){
            var dest = $(this).attr("href");
            e.preventDefault();
            $('html, body').animate({
                scrollTop: $(dest).offset().top -60
            }, 1000);
        });

});

或者按照Thibault Bach的回答编写代码

您可以将所有jquery代码包装到$(窗口)。加载绑定,这将在加载所有内容后设置处理程序:

$(window).load(function(){
  $('.smooth-scroll').click(function(e){
            var dest = $(this).attr("href");
            e.preventDefault();
            $('html, body').animate({
                scrollTop: $(dest).offset().top -60
            }, 1000);
        });

});

或者按照Thibault Bach的回答编写代码

您可以将所有jquery代码包装到$(窗口)。加载绑定,这将在加载所有内容后设置处理程序:

$(window).load(function(){
  $('.smooth-scroll').click(function(e){
            var dest = $(this).attr("href");
            e.preventDefault();
            $('html, body').animate({
                scrollTop: $(dest).offset().top -60
            }, 1000);
        });

});

或者按照Thibault Bach的回答编写代码

您可以将所有jquery代码包装到$(窗口)。加载绑定,这将在加载所有内容后设置处理程序:

$(window).load(function(){
  $('.smooth-scroll').click(function(e){
            var dest = $(this).attr("href");
            e.preventDefault();
            $('html, body').animate({
                scrollTop: $(dest).offset().top -60
            }, 1000);
        });

});


或者按照Thibault Bach的回答编写代码

使用CSS或HTML将宽度和高度设置为

使用CSS或HTML将宽度和高度设置为

使用CSS或HTML将宽度和高度设置为

使用CSS或HTML将宽度和高度设置为

正确,但如果您的图像太重而无法加载,您的滚动将稍后执行。正确,但是如果你的图像太重以至于无法加载,你的卷轴将稍后执行。对,但是如果你的图像太重以至于无法加载,你的卷轴将稍后执行。对,但是如果你的图像太重以至于无法加载,你的卷轴将稍后执行。正确,但是如果你使用响应式设计,你的宽度和高度可以是动态的。其次是很难设置所有图像尺寸,尤其是如果你的文本包含大量图像。你需要在其他样式表中以不同的宽度和高度添加这些类。如果在数据库(例如:博客网站)中插入并包含内容,你如何能在不手动编辑CSS的情况下更改这些内容?我认为这不是一个有用的解决方案,而且很难维护。没错,这个解决方案可能不适合所有情况。这是解决上述问题的方法之一。正确,但如果您使用响应性设计,您的宽度和高度可以是动态的。其次是很难设置所有图像尺寸,尤其是如果你的文本包含大量图像。你需要在其他样式表中以不同的宽度和高度添加这些类。如果在数据库(例如:博客网站)中插入并包含内容,你如何能在不手动编辑CSS的情况下更改这些内容?我认为这不是一个有用的解决方案,而且很难维护。没错,这个解决方案可能不适合所有情况。这是解决上述问题的方法之一。正确,但如果您使用响应性设计,您的宽度和高度可以是动态的。其次是很难设置所有图像尺寸,尤其是如果你的文本包含大量图像。你需要在其他样式表中以不同的宽度和高度添加这些类。如果在数据库(例如:博客网站)中插入并包含内容,你如何能在不手动编辑CSS的情况下更改这些内容?我认为这不是一个有用的解决方案,而且很难维护。没错,这个解决方案可能不适合所有情况。这是解决上述问题的方法之一。正确,但如果您使用响应性设计,您的宽度和高度可以是动态的。其次是很难设置所有图像尺寸,尤其是如果你的文本包含大量图像。你需要在其他样式表中以不同的宽度和高度添加这些类。如果在数据库(例如:博客网站)中插入并包含内容,你如何能在不手动编辑CSS的情况下更改这些内容?我认为这不是一个有用的解决方案,而且很难维护。没错,这个解决方案可能不适合所有情况。这是解决上述问题的方法之一。