作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
基本上,每次用户将鼠标悬停在图像上时,我都需要旋转缩略图。这是我失败的尝试:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('img').hover(function() {
theImage = $(this).attr('id');
otherImages = $(this).attr('class').split('@');
rotateThumbs(otherImages, theImage);
}, function() {
//
});
});
function rotateThumbs(otherImages, theImage) {
for (i=0; i < otherImages.length; i++) {
setInterval($('#'+theImage).attr('src', otherImages[i]), 1000);
}
}
</script>
<img id="myImage" src="http://www.google.com/images/logos/ps_logo2.png" class="http://www.google.com/images/logos/ps_logo2.png@http://l.yimg.com/a/i/ww/met/yahoo_logo_us_061509.png@http://dogandcat.com/images/cat2.jpg" width="174" height="130" />
有谁知道这是如何实现的?
最佳答案
这里有一些问题。
setInterval
需要函数引用作为第一个参数,但您正在执行返回 jQuery 对象的代码。setInterval
以指定的时间间隔重复执行第一个函数。那是你想要做的吗?每秒交换图像?i
是 otherImages.length
的问题,因此 src
是设置为 undefined
。相反,不要使用循环。每次显示新图像时增加计数器。试试这个:
function rotateThumbs(otherImages, theImage) {
var i = 0;
var interval = setInterval(function() {
$('#'+theImage).attr('src', otherImages[i++]);
if (i >= otherImages.length) {
clearInterval(interval);
}
}, 1000);
}
关于javascript - 如何在 jQuery 中创建旋转缩略图功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6379144/
我是一名优秀的程序员,十分优秀!