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>
  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/52css/p/2938385.html
Copyright © 2011-2022 走看看