在悬停时动画gif

时间:2011-09-19 15:12:03

标签: javascript jquery animation gif

我已经找到了答案并找到了答案,但我不知道如何使用它。

Stop a gif animation onload, on mouseover start the activation

Guffa对这个问题的回答正是我想要的,但我不知道如何使用该代码。

我有jquery插件,但是我在哪里放置代码(不是插件; Guffa的答案中的代码)?如何在参考图像时使用它?是否有一个功能我必须打电话让它工作?如果是这样,最好的方法是什么?

很抱歉提出一个已经回答的问题,但他的回答不够具体,我无法发表评论,要求他提供更具体的答案。

3 个答案:

答案 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>