全兼容系列(3)-------------------鼠标滑过

本文介绍了一种使用JavaScript和CSS实现的鼠标悬停显示隐藏DIV的方法。通过设置不同的定时器,确保了当鼠标悬停在指定元素上时,能够平滑地显示或隐藏对应的DIV。同时,该方法还考虑到了鼠标快速移动时可能产生的视觉效果问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
#div1{ width:150px; height:300px; background:#ccc; display: none;}
</style>
<script>
//时刻关注现在执行的是哪个定时器
  window.onload=function(){
    var oA=document.getElementById('A1');
    var oDiv=document.getElementById('div1');
    var timer=null;//父函数的变量子函数同样可以用
    oA.onmouseover=function()
    {
      clearTimeout(timer);//再次循环时关闭前一个定时器,阻止div1s后消失
      timer=setTimeout(function(){
        oDiv.style.display='block';
      },300);//当鼠标在按钮上停留300毫秒后div显示
    };
    oA.onmouseleave=function()
    {
      clearTimeout(timer);//若鼠标只是滑过按钮则关闭上一个定时器300毫秒后让div不显示
      timer=setTimeout(function(){
        oDiv.style.display='none';
      },3000);//若div正常显示则让它3s后消失
    };
    oDiv.onmouseenter=function(){
      clearTimeout(timer);//若鼠标悬停在div上则关闭上一个定时器让div一直显示
    };
    oDiv.onmouseleave=function(){
      timer=setTimeout(function(){
        oDiv.style.display='none'
      },1000);//若鼠标离开div则让div在1s后消失
    }


  }
</script>
</head>
<body>
  <a href="javerscript:;" id="A1">菜单</a>
  <div id="div1">

  </div>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值