多个图像,一个接一个
Multiple images onmouseover, one by one.
我想让我的徽标成为静态的.png图像,但当我把光标放在徽标上时,我想让它播放7张图像的"幻灯片放映",逐个更改。
我知道我可以用这样的代码来实现这一点:
<img src="image.png" onmouseover="this.src='image.gif'" onmouseout="this.src='image.png'" />
但我想要这样的东西:
<img src="image.png" onmouseover="this.src='image1.png/0.1s delay/image2.png/0.1s delay/image3.png/0.1s delay/'" onmouseout="this.src='image.png'" />
你可以做这样的事情,只需要稍微修改一下你的方法。考虑这个代码:
<img src="http://lorempixel.com/100/100/food/1" data-mouseover="http://lorempixel.com/100/100/food/2#500 http://lorempixel.com/100/100/food/3#600 http://lorempixel.com/100/100/food/4#300" />
和这个JS来处理声明的图像源:
$('img').on('mouseover', function() {
var self = this,
i = 0,
images = $(this).data('mouseover').split(/'s+/);
(function nextImage() {
var next = images[i++ % images.length].split('#');
$(self).data('timeout', setTimeout(function() {
self.src = next[0];
nextImage();
}, next[1] || 200));
})();
}).on('mouseout', function() {
clearTimeout($(this).data('timeout'));
this.src = $(this).attr('src');
});
演示:http://jsfiddle.net/e2j1a6vt/
您可以创建图像源数组并使用它们。
var counter = 0, arr = ["image1.png", "image2.png", "image3.png"];
$('img').mouseover(function() {
$(this).attr('src', function() {
return arr[counter++];
})
});
相关文章:
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 如何将多个画布保存为一个图像
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 如何在设定的时间间隔内一次只显示一个图像
- 循环以检查数组中的最后一个图像
- 下载Div&画布为一个图像
- 当页面包含指向一个图像的多个链接时,fancyBox会复制缩略图辅助图像
- 在引导程序旋转木马中显示下一个图像
- 拉斐尔用一个图像填满了这个圆圈
- 将多个重叠的透明图像保存为一个图像
- 我怎么能把它做成这样一个图像就不能拖动了
- 普通JS:使80%宽度元素100%IF包含一个图像
- 当滑块只有一个图像时,如何禁用下一个/上一个按钮
- 如何使用onclick事件点击一个图像,并让它更改同一网页上的另一个图像
- 将多个画布保存为一个图像(使网站像PicFrame一样)
- 在 JavaScript 中将一个.PNG图像拖放到另一个图像上
- 如何在CSS中修复与另一个图像进行比较的图像
- 只有一个图像被绘制到画布上
- 使用 jQuery 在最后一个图像之后附加 HTML