【发布时间】:2014-10-10 02:51:37
【问题描述】:
我正在使用这个脚本(按照视频教程),但什么也没发生,我也没有错误:
$(document).ready(function () {
var scrollTop = $(window).scrollTop();
var windowSize = $(window).height();
var appart = 50;
display(scrollTop, windowSize);
$(window).resize(function(){
var windowSize = $(window).height();
});
$(window).scroll(function(){
var scrollTop = $(window).scrollTop();
display(scrollTop, windowSize);
});
function display(scrollTop, windowSize){
$('.wp-post-image').each(function(){
var elemTop = $(this).offset().top;
if($(this).css('opacity') === 0 && (parseInt(elemTop) <= parseInt(scrollTop + windowSize - appart))){
$(this).fadeTo(2000,1);
}
});
}
});
它应该在页面上滚动时显示我的内容(如延迟加载)。
我正在使用 wordpress。
我真的不明白为什么它不起作用。 谢谢。
【问题讨论】:
-
将
$(document).ready(function ()更改为jQuery(document).ready(function ($) -
不会改变任何东西。脚本似乎已正确加载。此外,其他脚本也可以正常工作。我试图删除除此之外的所有其他脚本,但它没有改变任何东西。
-
我明白了。
$(this).css('opacity') === 0在这一行。$(this).css('opacity')实际上返回"0"。所以,你需要将===更改为== -
还需要删除
resize处理程序中的var,以便它设置更高范围的变量,而不是立即丢弃的新创建的局部变量。 -
这看起来也有问题:
parseInt(scrollTop + windowSize - appart)。如果这些值是数字(它们看起来是),则不需要parseInt()。也从这里删除parseInt():parseInt(elemTop)。
标签: javascript jquery wordpress lazy-loading jquery-lazyload