2012-05-26 27 views
1

所以我加了一些過渡到一個圖像翻轉:jQuery的轉變沒有完成

$(document).ready(function(){ 
    $('.project').hover(function(){ 
     $(this).children('.description').stop().slideDown('fast'); 
    }, function(){ 
     $(this).children('.description').stop().slideUp('fast'); 
    }); 
}); 

但是有時說明框中只有滑動一半時,還是應該滑動長度甚至只有1第十...描述框是300乘300px,並且應該滑入300x300px的框中...

這似乎發生在我將鼠標懸停在.project上時很快,stop()是否可以將其自身添加到隊列中當事情不應該停止時呢?

回答

0

嘗試stop(true, true)如果您想要立即完成動畫或stop(true, false)如果您不想完成動畫,只需將其顛倒即可。第一個true將清除隊列,以便動畫可以重新開始。我不完全確定它爲什麼會出現問題,並且我無法給出更完整的答案表示歉意,但現在我無法查看它。雖然你可以在這裏閱讀更多關於它:http://api.jquery.com/stop/,我發現jQuery API通常非常有用。

0

我上的jsfiddle http://jsfiddle.net/gizmovation/TpqvT/

我能夠通過快速移動鼠標進出項目容器中得到說明框中出現中途創建一個實例。

發生這種情況是因爲stop()正在暫停先前的動畫,然後您將開始一個新的動畫。在其他答案中提及的stop(true, true)會使事情看起來好一點。

你是否在動畫懸掛時遇到了麻煩?如果是這樣,請修改我創建的jsfiddle以更好地說明問題,我們可以提供進一步的幫助。