2012-01-26 88 views
0

我遇到一些問題,試圖使懸停和活動狀態在我的網站上工作。我是jQuery的新手,我發現它很困難。 這是我目前擁有的代碼:我希望它像這個例子的工作jQuery懸停和活動狀態

$(document).ready(function(){ 
    $('.st_tab').hover(function(){ 
    $(this).stop().animate({opacity : '0', left: '+=50',}, 100); 
    }, function(){$(this).stop().animate({'opacity' : '1'}, 500);}) 

}); 

http://www.queness.com/resources/html/fadein/index.html

我創建的網站的測試頁面,你可以在這裏看到:http://jm-ai.com/test/index.html

我使用正常,懸停和活動狀態的精靈圖像。

問題是,只要我將鼠標懸停在動畫上消失得太快,當我點擊時就沒有動畫。

+0

在你的例子中,當你懸停一個按鈕時,你將不透明度設置爲「0」......這應該回答,爲什麼它消失。如果點擊時需要動畫,則應該聽「click」事件而不聽「懸停」事件 – Luke

+0

看起來您正試圖在鏈接/錨點本身設置不透明度。在你想要模仿的例子中,他們使用一個單獨的div,並在該div上做動畫(以及相關的背景圖片),使用定位將div放置在錨點下。另外,正如Luke指出的那樣,看起來你已經爲了不透明度的動畫而顛倒了順序。 ()。( – kinakuta

+0

它也似乎你已經切換了功能...我試着這樣運行它:$(document).ready(function(){(0)。('。st_tab')。hover( \t function() { \t \t $(本)的CSS({ '不透明':1})動畫({ '不透明': '0'},500);。 \t}, \t函數(){ \t \t $( this).animate({opacity:'1',left:'+ = 50',},1000); \t}) }); – Kristian

回答

0

我會推薦mouseover mouseout。當它被點擊時,讓它填充一個變量true false。

$('.st_tab').mouseover(function() { //animation }).mouseout(function() { //animation }); 
+0

謝謝大家的快速回復!我使用克里斯蒂安建議的例子。它的工作正常,但問題是,只要你懸停,懸停狀態出現一秒鐘,然後消失,如果你懸停相同的鋰懸停狀態將出現3秒和然後它消失。活動狀態正常。希望你們中的任何人都可以幫助我。鏈接到我的測試網站:http://jm-ai.com/test/index.html – user1170376

+1

喬納斯米..感謝您的答覆..我試着你的建議..它的工作,但它有同樣的問題,例如Kristian建議..這就是我對你的例子所做的:$(document).ready(function(){$('。st_tab')。mouseover(function(){$(this).css({'opacity': 1)}。animate({'opacity':'0'},500);})。mouseout(function(){$(this).animate({opacity:'1'},1000);})}) ; – user1170376