zoukankan      html  css  js  c++  java
  • JS延时提示框

    提示框功能:当鼠标指向头像时,弹出一个信息框,鼠标可移动到信息框,当鼠标离开头像时信息框消失,当鼠标离开信息框时信息框消失。

    实现功能思路

    1、获取元素。

    2、当鼠标指向Div1时,Div2显示。

    3、当鼠标离开Div1时,使Div2延迟0.5秒消失,这样以便有时间把鼠标移到Div2。

    4、当鼠标指向Div2时,Div2显示。因为第3步设置setTimeout使Div2消失,所以把用clearTimeout()把setTimeout清除了就可以实现Div2显示了。

    5、当鼠标离开Div2时,使Div2延迟0.5秒消失,这样以便有时间把鼠标指向Div1。

    6、第2步已经设置了鼠标指向Div1,Div2就显示,但由于第5步设置setTimeout使Div2消失,所以在第2步加上clearTimeout()把setTimeout清除了就可以实现Div2显示了。

    JS代码:

     1 <script>
     2 window.onload=function()
     3 {
     4     var oDiv1=document.getElementById('div1');
     5     var oDiv2=document.getElementById('div2');
     6     time=null;
     7     
     8     oDiv1.onmouseover=function()
     9     {
    10         clearTimeout(time);
    11         oDiv2.style.display='block';    
    12     };
    13     
    14     oDiv1.onmouseout=function()
    15     {
    16         time=setTimeout(function(){
    17             oDiv2.style.display='none';
    18         },500);
    19     };
    20     
    21     oDiv2.onmouseover=function()
    22     {
    23         clearTimeout(time);
    24     };
    25     
    26     oDiv2.onmouseout=function()
    27     {
    28         time=setTimeout(function(){
    29             oDiv2.style.display='none';
    30         },500);
    31     };
    32 };
    33 </script>

    由于代码看起来多差不多,可以简化如下:

     1 <script>
     2 window.onload=function()
     3 {
     4     var oDiv1=document.getElementById('div1');
     5     var oDiv2=document.getElementById('div2');
     6     time=null;
     7     
     8     oDiv2.onmouseover=oDiv1.onmouseover=function()
     9     {
    10         clearTimeout(time);
    11         oDiv2.style.display='block';    
    12     };
    13     
    14     oDiv2.onmouseout=oDiv1.onmouseout=function()
    15     {
    16         time=setTimeout(function(){
    17             oDiv2.style.display='none';
    18         },500);
    19     };
    20 };
    21 </script>

    HTML、CSS代码:

    <div id="div1"></div>
    <div id="div2"></div>
    
    
    <style>
    #div1{float:left;margin-right:10px;width:50px;height:50px;background:black;}
    #div2{display:none;float:left;width:200px;height:200px;background:#0CF;}
    </style>
  • 相关阅读:
    Python入门-函数进阶
    Python入门-初始函数
    Leetcode300. Longest Increasing Subsequence最长上升子序列
    Leetcode139. Word Break单词拆分
    Leetcode279. Perfect Squares完全平方数
    Leetcode319. Bulb Switcher灯泡开关
    Leetcode322. Coin Change零钱兑换
    二叉树三种遍历两种方法(递归和迭代)
    Leetcode145. Binary Tree Postorder Traversal二叉树的后序遍历
    Leetcode515. Find Largest Value in Each Tree Row在每个树行中找最大值
  • 原文地址:https://www.cnblogs.com/52css/p/2938385.html
Copyright © 2011-2022 走看看