我有一个带有 mouseout 和 mouseover 事件的 div,它们改变了 div 的不透明度。
但是,如果您将鼠标快速连续地移出和移出 div,则 div 会闪烁。
我正在尝试找到一种停止闪烁的方法,以便它取消先前的操作,从而不会闪烁。我使用了明确的间隔,但似乎没有解决问题......这是我的小提琴:
我的代码清除了不透明度过渡的间隔:
function fade(dir){
var interId = null;
function fade_in() {
clearInterval(interId);
var div_id = document.getElementById('my_div');
var opacity = window.getComputedStyle(div_id).opacity;
interId = transition_opacity(div_id, opacity, 1, 0);
}
function fade_out() {
clearInterval(interId);
var div_id = document.getElementById('my_div');
var opacity = window.getComputedStyle(div_id).opacity;
interId = transition_opacity(div_id, opacity, 0,0);
}
if(dir){
fade_in();
} else {
fade_out();
}
}
var div_id = document.getElementById('my_div');
div_id.addEventListener('mouseover', function(){fade(1);}, false);
div_id.addEventListener('mouseout', function(){fade(0);}, false);
关于如何解决此问题的任何建议?