我有一个 javascript 问题,这已经困扰了我好几个小时了。我需要延迟一个 css 弹出窗口,这样如果你只是在页面上滚动鼠标,你就不会得到大量的弹出窗口。
无论我尝试什么,它都会使弹出窗口变得愚蠢,在 x 秒后通过滑动任何链接、自动关闭等弹出。如果我在鼠标悬停时添加一个计时器,它开始表现得很奇怪,如果我然后删除鼠标悬停的计时器它工作正常,但您不能再将鼠标悬停在菜单关闭之前,还尝试添加负边距并自动关闭
欢呼所有人
javscript
<script type="text/javascript">
var span = document.querySelectorAll('.pop');
for (var i = span.length; i--;) {
(function () {
var t;
span[i].onmouseover = function () {
hideAll();
clearTimeout(t);
this.className = 'popHover';
};
span[i].onmouseout = function () {
var self = this;
t = setTimeout(function () {
self.className = 'pop';
}, 300);
};
})();
}
function hideAll() {
for (var i = span.length; i--;) {
span[i].className = 'pop';
}
};
</script>
css
.pop {
position:relative;
}
.pop div {
display: none;
}
.popHover {
position:absolute;
}
.popHover div {
background-color:#FFFFFF;
border-color:#AAAAAA;
border-style:solid;
border-width:1px 2px 2px 1px;
color:#333333;
padding:5px;
position:absolute;
z-Index:9999;
width:150px;
display: inline-block;
margin-top: -20px;
}