悬停并点击与动画gif的互动

时间:2015-10-18 21:16:44

标签: jquery hover animated

我默认显示一个徽标。 悬停时,我想显示另一张图片。 单击时我想显示第三个图像,这是一个GIF动画。

我把这一切都搞定了,但是我需要延迟到位,以便动画gif可以完全运行,即使悬停丢失了。我尝试了很多东西而没有快乐。这是代码:

    $(function() {
        $(".logo img").hover(
            function() {
                $(this).attr("src", "http://[URL]/images/logo-hover.png");
            },
            function() {
                $(this).attr("src", "http://[URL]/images/logo.png");
            }                         
        ); 
    });        

    $(function() {
        $(".logo img").click(
            function() {
                $(this).attr("src", "http://[URL]/images/logo-animate.gif");
            }                         
        ); 
    });

3 个答案:

答案 0 :(得分:0)

您可以使用CSS:

  1. .element {content:url(" img1")}
  2. .element:hover {content:url(" img2")}
  3. .element.clicked {content:url(" img3")}
  4. 在JS中,只需在需要时添加和删除clicked类。

    工作示例:http://jsfiddle.net/4c0uzhh8/1/

答案 1 :(得分:0)

备用解决方案(请注意点击后动画将继续运行)

点击时取消绑定mouseentermouseleave个事件。

$(function() {
    $(".logo img").click(
        function() {
            $(this).attr("src", "http://[URL]/images/logo-animate.gif");
            $(this).unbind('mouseenter mouseleave');
        }                         
    ); 
});

Fiddle

答案 2 :(得分:-1)

创建一个div或iframe,将图像放在彼此上并通过jQuery animate控制它们的zIndex和不透明度