• 技术文章 >web前端 >js教程

    javascript匀速运动实现侧边栏分享效果(代码)

    不言不言2018-08-31 09:55:31原创756
    本篇文章给大家带来的内容是关于javascript匀速运动实现侧边栏分享效果(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    原理

    实现侧边栏分享效果

    <!DOCTYPE html>
    <html>
      <head>
        <title>用运动做一个侧边栏分享</title>
        <style>
          #div1{
            width: 150px;
            height: 200px;
            background: #0f0;
            position: absolute;
            left: -150px;
          }
          #div1 span{
            position: absolute;
            width: 20px;
            height: 60px;
            line-height: 20px;
            background: #00f;
            right: -20px;
            top: 70px;
          }
        </style>
        <script>
          window.onload=function(){
            var oDiv=document.getElementById("div1");
            oDiv.onmouseover=function(){
              startMove(10,0);
            }
            oDiv.onmouseout=function(){
              startMove(-10,-150);
            }
          }
          var timer=null;
          function startMove(speed,iTarget){
            var oDiv=document.getElementById("div1");
            clearInterval(timer);
            timer=setInterval(function(){
              if(oDiv.offsetLeft==iTarget){
                clearInterval(timer);
              }else{
                oDiv.style.left=oDiv.offsetLeft+speed+"px";
              }
            },30)
          }
        </script>
      </head>
      <body>
        <div id="div1">
          <span>分享到</span>
        </div>
      </body>
    </html>

    当我们写好一段代码的时候,我们应该进行测试优化。测试无兼容问题,封装后的移动函数有两个参数,这个时候,我们考虑参数是否可以简化。
    比如我们打出租车,我们可以告诉司机目的地,但是我们不必告诉司机以多少速度到目的地,所以,我们可以简化参数为一个参数。具体代码如下。

    实现侧边栏分享效果——简化速度参数

    <!DOCTYPE html>
    <html>
      <head>
        <title>用运动做一个侧边栏分享</title>
        <style>
          #div1{
            width: 150px;
            height: 200px;
            background: #0f0;
            position: absolute;
            left: -150px;
          }
          #div1 span{
            position: absolute;
            width: 20px;
            height: 60px;
            line-height: 20px;
            background: #00f;
            right: -20px;
            top: 70px;
          }
        </style>
        <script>
          window.onload=function(){
            var oDiv=document.getElementById("div1");
            oDiv.onmouseover=function(){
              startMove(0);
            }
            oDiv.onmouseout=function(){
              startMove(-150);
            }
          }
          var timer=null;
          function startMove(iTarget){
            var oDiv=document.getElementById("div1");
            clearInterval(timer);
            timer=setInterval(function(){
              var speed=0;
              if(oDiv.offsetLeft>iTarget){
                speed=-10;
              }else{
                speed=10;
              }
              if(oDiv.offsetLeft==iTarget){
                clearInterval(timer);
              }else{
                oDiv.style.left=oDiv.offsetLeft+speed+"px";
              }
            },30)
          }
        </script>
      </head>
      <body>
        <div id="div1">
          <span>分享到</span>
        </div>
      </body>
    </html>

    相关推荐:

    javascript 实现动态侧边栏实例详解

    原生javascript实现匀速运动动画效果_javascript技巧

    以上就是javascript匀速运动实现侧边栏分享效果(代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript
    上一篇:移动端cropper.js如何实现裁剪图片并上传(代码分析) 下一篇:深入理解JavaScript执行机制
    Web大前端开发直播班

    相关文章推荐

    • jQuery侧边栏实现代码_jquery• JS运动框架之分享侧边栏动画实例_javascript技巧• javascript实现动态侧边栏代码_javascript技巧• jQuery侧边栏随窗口滚动实现方法_jquery• javascript - html伸缩式侧边栏代码?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网