我有一个页面与很多GIF。
<img src="gif/1303552574110.1.gif" alt="" > <img src="gif/1302919192204.gif" alt="" > <img src="gif/1303642234740.gif" alt="" > <img src="gif/1303822879528.gif" alt="" > <img src="gif/1303825584512.gif" alt="" >
我在找什么
1在网页加载=>所有gif的动画都停止
2在mouSEOver =>动画从那个gif开始
3在mouSEOut =>动画再次停止该gif
我想这可以在Jquery做,但我不知道如何。
解决方法
不,您不能控制图像的动画。
你需要每个图像的两个版本,一个是动画,一个不是。悬停时,您可以轻松地从一个图像更改为另一个图像。
例:
$(function(){ $('img').each(function(e){ var src = $(e).attr('src'); $(e).hover(function(){ $(this).attr('src',src.replace('.gif','_anim.gif')); },function(){ $(this).attr('src',src); }); }); });
更新:
时间过去,可能性改变。正如kritzikatzi指出的,有两个版本的图像不是唯一的选择,你可以显然使用一个canvas元素来创建动画的第一帧的副本。注意,这并不适用于所有浏览器,IE 8例如不支持canvas元素。