即时通讯新手到大多数网络开发的东西,所以我请求你一些支持。 我有一个图像映射,其中我分配了几个区域触发不同的内容在一个单独的股利。我现在想为onmouseover触发器添加一个延迟,以便只有当用户将光标定位在该区域上时,才更新div中的内容,而不是意外地将光标悬停在该区域上。延迟onmouseover javascript
这是JS我使用用于切换DIV内容:
function showHideDivs(indx){
hideDivs();
oShowHideDivs[indx].style.display = 'block';
}
function hideDivs(){
for(i=0; i < oShowHideDivs.length; i++){
oShowHideDivs[i].style.display = 'none';
}
}
window.onload=function(){
oShowHideDivs = document.getElementById('container').getElementsByTagName('div');
var oMap = document.getElementById('myMap');
for(i=0; i < oMap.areas.length; i++){
oMap.areas[i].indx = i;
oMap.areas[i].onmouseover=function(){
showHideDivs(this.indx);
}
}
}
那么,如何实现延迟,在哪里? thx提前! 扬
编辑: 我现在用这个办法:
oMap.areas[i].onmouseover=function(){
var area=this;
var delay=setTimeout(function(){showHideDivs(area.indx);},100);
area.onmouseout=function(){clearTimeout(delay);};
}
似乎最简单的给我。 thx的提示!
你愿意使用jQuery吗? 看看[这个问题](http://stackoverflow.com/questions/10933828/a-function-to-check-if-the-mouse-is-still-hovering-an-element-every-10-milliseco )和[this jsfiddle](http://jsfiddle.net/z8yaB/)。 – rosshamish