2015-10-18 67 views
0

我有一個默認顯示的標誌。 徘徊時,我想顯示另一個圖像。 點擊時,我想顯示第三個圖像,這是一個動畫gif。懸停並點擊與動畫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"); 
      }       
     ); 
    }); 
+0

推測的延遲之後,你想要的懸停動作重新工作? –

回答

0

讓一個div或者和iframe,把圖像在彼此並控制其zIndex的,並通過jQuery的不透明度動畫

+1

這是如何回答這個問題的? –

0

您可以使用CSS這樣的:

  1. .element {含量:URL( 「IMG1」)}
  2. .element:懸停{含量:URL( 「IMG2」)}
  3. .element.clicked {含量:URL( 「IMG3」)}

而在JS中,只需在需要時添加和刪除clicked類。

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

0

替代的解決方案(注意動畫將繼續點擊後運行)

上點擊取消綁定mouseentermouseleave事件。

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

Fiddle