我已经找到了答案并找到了答案,但我不知道如何使用它。
Stop a gif animation onload, on mouseover start the activation
Guffa对这个问题的回答正是我想要的,但我不知道如何使用该代码。
我有jquery插件,但是我在哪里放置代码(不是插件; Guffa的答案中的代码)?如何在参考图像时使用它?是否有一个功能我必须打电话让它工作?如果是这样,最好的方法是什么?
很抱歉提出一个已经回答的问题,但他的回答不够具体,我无法发表评论,要求他提供更具体的答案。
答案 0 :(得分:22)
以下是您需要的工作示例 - http://jsfiddle.net/EXNZr/1/
<img id="imgDino" src="http://bestuff.com/images/images_of_stuff/64x64crop/t-rex-51807.jpg?1176587870" />
<script>
$(function() {
$("#imgDino").hover(
function() {
$(this).attr("src", "animated.gif");
},
function() {
$(this).attr("src", "static.gif");
}
);
});
</script>
答案 1 :(得分:4)
我还没有看过这个链接,但最简单的方法就是在悬停时用javascript改变img标签src属性(jQuery)
$(function() {
$('a').hover(function() {
$(this).attr('src','path_to_animated.gif');
},function() {
$(this).attr('src','path_to_still.gif');
}
});
不需要插件......您可能希望通过在悬停绑定之前添加$('<img />',{ src: 'path_to_animated.gif'});
来预加载动画gif。
希望有所帮助
答案 2 :(得分:0)
如果你可以使用canvas,请试试这个:
<!DOCTYPE html>
<html>
<head>
<style>
.wrapper {position:absolute; z-index:2;width:400px;height:328px;background-color: transparent;}
.canvas {position:absolute;z-index:1;}
.gif {position:absolute;z-index:0;}
.hide {display:none;}
</style>
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script>
window.onload = function() {
var c = document.getElementById("canvas");
var ctx = c.getContext("2d");
var img = document.getElementById("gif");
ctx.drawImage(img, 0, 0);
}
$(document).ready(function() {
$("#wrapper").bind("mouseenter mouseleave", function(e) {
$("#canvas").toggleClass("hide");
});
});
</script>
</head>
<body>
<div>
<img id="gif" class="gif" src="https://www.macobserver.com/imgs/tips/20131206_Pooh_GIF.gif">
<canvas id="canvas" class="canvas" width="400px" height="328px">
</canvas>
<div id="wrapper" class="wrapper"></div>
</div>
</body>
</html>