使用benpickles onSCreen
插件(https://benpickles.github.io/onScreen/)我正在使用以下代码尝试使用jQuery的filter()
方法在任何可见的图像上更改所有元素的图像src在屏幕上。
<img class="img-d" src="old-image-23.jpg" data-src="new-image-37.jpg"/>
<img class="img-d" src="old-image-54.jpg" data-src="new-image-7.jpg"/>
<img class="img-d" src="old-image-12.jpg" data-src="new-image-98.jpg"/>
jQuery(function() {
setInterval(function() {
jQuery('.img-d')
.filter(":onScreen")
.attr('src', jQuery(this).data('src'))
},
1000)
});
但是当我尝试更改img src时,jQuery(this)
无效。
有人可以帮忙吗?
答案 0 :(得分:0)
您可以将attr()
与回调一起使用来访问每个元素并返回数据属性值
jQuery(function($) {
setInterval(function() {
$('.img-d').filter(":onScreen").attr('src', function() {
return $(this).data('src');
});
}, 1000)
});
请注意该功能如何关闭$
,因此您不必每次都输入jQuery
。
为什么你会每一秒都这样做,但是超出我的范围呢?