我的 Javascript 技能充其量只是初学者,但我尝试实现 here 中的延迟加载 flexslider 解决方案。 slider 和加载工作正常,但是当 slider 循环一次时,我收到控制台错误:
“未捕获类型错误:无法调用未定义的方法‘removeAttr’”
我的 JS 坐在头部:
JS
<script type="text/javascript" charset="utf-8">
$(window).load(function() {
$('.projcontainer').flexslider({
slideshow: false,
after: function(slider) {
var slides = slider.slides,
index = slider.animatingTo,
$slide = $(slides[index]),
$img = $slide.find('img[data-src]');
if ($img) {
$img.attr("src", $img.attr('data-src')).removeAttr("data-src");
}
}
});
});
</script>
HTML:
<li>
<img class="lazy" src="loading.gif" data-src="myimage.png"/>
</li>
由于知识有限,我知道我需要完成“else if”语句,但这对我来说并没有发生。任何帮助将不胜感激。
最佳答案
将 if ($img)
更改为 if ($img.length)
。你的 if 条件总是会通过,因为 $img
永远不会为 null(它是一个 jQuery 对象)。
关于javascript - 延迟加载 FlexSlider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21174674/