我有一個片,其上的監聽鼠標,使一個div淡出和背面中的JavaScript代碼。在同一時間從事件偵聽器運行衝突功能
我的問題是,如果用戶鼠標懸停多次從而導致該函數的邏輯,以執行以下操作:
mouse over¬
fade out
fade in [mouse over again] ¬
fade out
在這點i同時具有fade out
和fade in
同時出現導致對DIV怪異閃爍。我不知道如何防止它。
工作小提琴:http://jsfiddle.net/WgNuX/4/非常快速地將鼠標移出div,並且會閃爍。
我的代碼如下:
function check(){
var div_id = document.getElementById('my_div');
var opacity = window.getComputedStyle(div_id).opacity;
function fade_in(){
var opacity = window.getComputedStyle(div_id).opacity;
var direction =1 ; //fade in
transition_opacity(div_id,opacity,direction,0)
}
var direction = 0; //fade out first
transition_opacity(div_id,opacity,direction,fade_in)
}
var div_id = document.getElementById('my_div');
div_id.addEventListener('mouseover',check,false);
我能做些什麼來防止這種情況的出現?
是jQuery的一個選項?我可以在jquery中複製進程並添加stop()方法,以幫助角色覆蓋進程對您的視覺圖表保持真實。 – blackhawk
不,我不使用圖書館 – Sir
在淡出/淡入淡出過程中,您可以[刪除eventlistener](http://jsfiddle.net/TggTY/1/)。 – Teemu