zoukankan      html  css  js  c++  java
  • 分享菜单效果

    分享菜单效果:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>分享菜单</title>
     6         <style>
     7             #div1{ 100px; height: 200px; background-color: #ccc;position: absolute; left: -100px}
     8             #div1 span{ 20px; height: 60px; background-color: yellow; position: absolute; line-height: 20px; left: 100px;top: 70px}
     9         </style>
    10         <script>
    11             window.onload = function(){
    12                 var oDiv = document.getElementById("div1");
    13                 oDiv.onmouseover = function(){
    14                     //-100 > 0
    15                     startMove();
    16                 }
    17 
    18                 oDiv.onmouseout = function(){
    19                     //0 > -100
    20                     startMove2();
    21                 }
    22             }
    23 
    24             var timer = null;
    25             //使div出来的函数
    26             function startMove(){
    27                 var oDiv = document.getElementById("div1");
    28                 clearInterval(timer);
    29                 var speed = 5;
    30                 timer = setInterval(function(){
    31                     if(oDiv.offsetLeft == 0){
    32                         clearInterval(timer);
    33                     }else{
    34                         oDiv.style.left = oDiv.offsetLeft + speed + "px";
    35                     }
    36                 }, 30);
    37             }
    38             //使div隐藏的函数
    39             function startMove2(){
    40                 var oDiv = document.getElementById("div1");
    41                 clearInterval(timer);
    42                 var speed = -5;
    43                 timer = setInterval(function(){
    44                     if(oDiv.offsetLeft == -100){
    45                         clearInterval(timer);
    46                     }else{
    47                         oDiv.style.left = oDiv.offsetLeft + speed + "px";
    48                     }
    49                 }, 30);
    50             }
    51         </script>
    52     </head>
    53     <body>
    54         <div id = "div1">
    55 <!--             span必须写到要隐藏的里面,不然隐藏到里面后,鼠标就没有
    56             办法点到了,也就没办法出来了,让span相对于div定位定出来,
    57             然后,鼠标移到span上的时候,因为事件冒泡的存在,也就相当于
    58             移动了div上。
    59              -->            
    60              <span>分享到</span>
    61         </div>
    62     </body>
    63 </html>

    浏览器效果:

    上面的两个startMove函数大部分都是相同的,加形参加以简化。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>分享菜单_简化</title>
     6         <style>
     7             #div1{ 100px; height: 200px; background-color: #ccc;position: absolute; left: -100px}
     8             #div1 span{ 20px; height: 60px; background-color: yellow; position: absolute; line-height: 20px; left: 100px;top: 70px}
     9         </style>
    10         <script>
    11             window.onload = function(){
    12                 var oDiv = document.getElementById("div1");
    13                 oDiv.onmouseover = function(){
    14                     //-100 > 0
    15                     startMove(5, 0);
    16                 }
    17 
    18                 oDiv.onmouseout = function(){
    19                     //0 > -100
    20                     startMove(-5, -100);
    21                 }
    22             }
    23 
    24 
    25             //两个合二为一
    26             var timer = null;
    27             function startMove(speed, iTarget){
    28                 var oDiv = document.getElementById("div1");
    29                 clearInterval(timer);
    30                 timer = setInterval(function(){
    31                     if(oDiv.offsetLeft == iTarget){
    32                         clearInterval(timer);
    33                     }else{
    34                         oDiv.style.left = oDiv.offsetLeft + speed + "px";
    35                     }
    36                 }, 30);
    37             }
    38 
    39 
    40         </script>
    41     </head>
    42     <body>
    43         <div id = "div1">
    44             <span>分享到</span>
    45         </div>
    46     </body>
    47 </html>

    形参能用一个就不用俩,再加以简化:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>分享菜单_究极版</title>
     6         <style>
     7             #div1{ 100px; height: 200px; background-color: #ccc;position: absolute; left: -100px}
     8             #div1 span{ 20px; height: 60px; background-color: yellow; position: absolute; line-height: 20px; left: 100px;top: 70px}
     9         </style>
    10         <script>
    11             window.onload = function(){
    12                 var oDiv = document.getElementById("div1");
    13                 oDiv.onmouseover = function(){
    14                     //-100 > 0
    15                     startMove(0);
    16                 }
    17 
    18                 oDiv.onmouseout = function(){
    19                     //0 > -100
    20                     startMove(-100);
    21                 }
    22             }
    23 
    24             var timer = null;
    25             function startMove(iTarget){
    26                 var oDiv = document.getElementById("div1");
    27                 var speed = null;
    28                 clearInterval(timer);
    29                 timer = setInterval(function(){
    30                     //判断速度的正负
    31                     if(oDiv.offsetLeft < iTarget){
    32                         speed = 5;
    33                     }else{
    34                         speed = -5;
    35                     }
    36                     if(oDiv.offsetLeft == iTarget){
    37                         clearInterval(timer);
    38                     }else{
    39                         oDiv.style.left = oDiv.offsetLeft + speed + "px";
    40                     }
    41                 }, 30);
    42             }
    43 
    44 
    45         </script>
    46     </head>
    47     <body>
    48         <div id = "div1">
    49             <span>分享到</span>
    50         </div>
    51     </body>
    52 </html>

    效果都同上。

  • 相关阅读:
    对unsigned int和int进行移位操作的区别
    ctags支持的语言
    ubuntu使用问题与解决记录[持续更新]
    [转]python起步之卡尔曼滤波
    Android Studio的安装使用记录[持续更新]
    web.py实现jsonp
    关于python的import
    git常用命令[持续更新]
    flot图表的使用
    迁移web.py项目至git@osc的项目演示平台
  • 原文地址:https://www.cnblogs.com/taohuaya/p/9623740.html
Copyright © 2011-2022 走看看