Javascript 暂停在MouseOver上打开div
我想知道如何用javascript打开一个隐藏的div,但是在用户将鼠标悬停在链接上一秒钟之后,而不是立即打开。我想这样做,因为现在你把鼠标扫过页面,这些div打开了,即使我没有故意在它们上面悬停。我不想使用jQuery 这是我的代码:Javascript 暂停在MouseOver上打开div,javascript,Javascript,我想知道如何用javascript打开一个隐藏的div,但是在用户将鼠标悬停在链接上一秒钟之后,而不是立即打开。我想这样做,因为现在你把鼠标扫过页面,这些div打开了,即使我没有故意在它们上面悬停。我不想使用jQuery 这是我的代码: function ShowMemberCats() { // TURN OFF OTHER FRAMES // document.getElementById('BlogCats').style.display = 'none';
function ShowMemberCats()
{
// TURN OFF OTHER FRAMES //
document.getElementById('BlogCats').style.display = 'none';
document.getElementById('VideoCats').style.display = 'none';
document.getElementById('AudioCats').style.display = 'none';
document.getElementById('ImageCats').style.display = 'none';
document.getElementById('CouponCats').style.display = 'none';
document.getElementById('AdsCats').style.display = 'none';
// OPEN VIDEO FRAME //
document.getElementById('MemberCats').style.display = '';
}
任何帮助都将不胜感激
多谢各位,
Paul当光标位于链接上时(
onmouseover
),启动计时器(setTimeout
)。如果此计时器达到1秒,则显示您的div.
如果光标离开链接(
onmouseout
),请取消计时器(clearTimeout
)。这个概念显示得很好。它并不完全相同,也不那么优雅,但它显示了你想要实现的原则
<script type="text/javascript">
var ie = document.all;
var timeoutId;
var timeoutObj;
document.onmouseover = function(e) {
var obj = ie ? event.srcElement : e.target;
if (obj.className=='testblock') {
timeoutObj = obj;
timeoutId = setTimeout("delay()", 2000);
}
}
document.onmouseout = function(e) {
var obj = ie ? event.srcElement : e.target;
if ((obj.className=='testblock') && timeoutId )
clearTimeout(timeoutId);
}
function delay() {
document.getElementById('output').innerHTML = timeoutObj.style.backgroundColor;
}
</script>
var ie=document.all;
var-timeoutId;
var-timeoutObj;
document.onmouseover=函数(e){
var obj=ie?event.src元素:e.target;
if(obj.className=='testblock'){
timeoutObj=obj;
timeoutId=setTimeout(“delay()”,2000);
}
}
document.onmouseout=函数(e){
var obj=ie?event.src元素:e.target;
if((obj.className='testblock')&&timeoutId)
clearTimeout(timeoutId);
}
函数延迟(){
document.getElementById('output').innerHTML=timeoutObj.style.backgroundColor;
}
大多数时候,我使用的全局事件处理程序有点像您的示例,它们非常强大和灵活。