我想淡入一個元素快速按下按鈕。這裏的jQuery和CSS代碼:jQuery發起的CSS轉換時反覆觸發出毛孔
$('#button').on("click", function() {
$('.alert_itemadded').show(0, function() {
$('.alert_itemadded').toggleClass('alert_itemadded_fade');
$('.alert_itemadded').one('transitionend webkitTransitionEnd', function() {
setTimeout(function() {
$('.alert_itemadded').toggleClass('alert_itemadded_fade');
$('.alert_itemadded').one('transitionend webkitTransitionEnd', function() {
$('.alert_itemadded').hide();
});
}, 300);
});
});
});
.alert_itemadded {
display: none;
opacity: 0;
transition: all 0.8s ease;
-webkit-transition: all 0.8s ease;
width: 50px;
height: 50px;
background-color: red;
}
.alert_itemadded_fade {
opacity: 1;
transition: all 0.4s ease;
-webkit-transition: all 0.4s ease;
}
的代碼工作正常,但如果你的淡入/出過渡序列完成之前單擊該按鈕。如果在轉換過程中單擊,「alert_itemadded」元素仍然會正常淡入淡出,但會立即隱藏而不會正常淡出。任何想法如何解決這個問題?
事情我已經試過,都沒有成功:
- 使用addClass & removeClass代替toggleClass。
- 在按鈕單擊事件之後立即添加$('。alert_itemadded')。finish()以終止當前正在運行的轉換。
任何幫助將不勝感激。先謝謝你。
我上面介紹的是對實際場景的簡化。每次單擊按鈕時,我都需要重新啓動轉換序列,無論是否存在已轉換的轉換。 – Lior 2015-04-06 09:07:55