我與我的項目,結合jQuery/Coffeescript有問題。jQuery隱藏和顯示不正確(多次)
在我的主頁上,我有一個文本塊,下面有一個箭頭。 在那裏,有按鈕,每當我將鼠標放在其中一個按鈕上時,我希望文本塊+箭頭移動。 我使用jQuery UI庫執行此操作,方法hide
和show
。
在我的CSS代碼中,我做了幾個類:.position1
,.position2
和.position1
。每次用鼠標懸停在其中一個按鈕上時,我都希望文本塊移動到特定的位置,所以我改變它的類(如果有人有更好的解決方案,我很樂意聽到它)。
現在我遇到的問題是,有時箭頭皮和之後彼此出現多次(特別是當我移動鼠標非常快按鈕之間)
的簡單(部分)版本我的jQuery是如下:
var appear_arrow = function(to_position, show_delay) {
removeClasses($('.arrow'));
$('.arrow').addClass(to_class);
$('.arrow').delay(show_delay).show('slide', 'slow');
};
var to_position1 = function() {
$('.arrow').hide(0);
$('.text_block').hide(appear);
switchClass($('.text_block'));
$('.text_block').show(appear);
appear_arrow('position1', delay);
};
$('.button1').hover(
function() {
to_position1();
},
function() {}
);
我的問題,沒有任何人知道爲什麼有時候箭頭出現多次。或者有人建議如何更好地做到這一點?
親愛的@Flo,感謝您的快速回復。事情是,我希望它有點順利,然後突然轉換對我來說不是一個很好的選擇。另外,在我的原始代碼(用咖啡腳本編寫)中,我正在使用這些變量。 – Ron 2012-01-14 14:34:48
然後您可以在添加新的定位類並再次顯示之前停止()隊列並添加一個增量動畫。 新動畫將根據元素的狀態(即不透明度)計算動畫時間(箭頭當前處於0.2不透明度 - >動畫持續時間* = 0.2)。但是我可能會過度看待事情。 – Flo 2012-01-14 14:52:36