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

    怎样操作JS实现简单折叠展开动画

    php中世界最好的语言php中世界最好的语言2018-06-01 14:42:15原创791
    这次给大家带来怎样操作JS实现简单折叠展开动画,操作JS实现简单折叠展开动画的注意事项有哪些,下面就是实战案例,一起来看一下。

    <!DOCTYPE = html>
    <html>
     <head>
      <title>JS折叠展开动画</title>
      <style>
      body{
       margin: 0px;
       padding: 0px;
      }
      .red{
       background-color:red;
       width:200px;
       height:200px;
       position:relative;
       left:-200px;
       top:0px;
      }
      .blue{
       background:blue;
       width:20px;
       height:50px;
       position:absolute;
       left:200px;
       top:75px;
      }
      </style>
     </head>
     <body>
      <p class="red" id="cf1"><p class="blue" id="cf">分享</p></p>
      <script>
      window.onload = function(){
       var onp = document.getElementById("cf1");
       onp.onmouseover = function(){
        startmove(0);
       }
       onp.onmouseout = function(){
        startmove(-200);
       }
      }
      var timer ;
      function startmove(target){
       clearInterval(timer);//清除定时器,以免多次触发定时器导致速度越来越快而不是匀速前进
       var onp1 = document.getElementById("cf1");
       timer = setInterval(function(){
       var speed = 0;
       if(onp1.offsetLeft<target){
        speed = 10;
       }else{
        speed = -10;
       }
       if(onp1.offsetLeft==target){
        clearInterval(timer);
       }
       else{
       onp1.style.left = onp1.offsetLeft+speed+'px';
       }
       },30)
      }
      </script>
     </body>
    </html>

    运行效果:

    小结:

    一、css部分:

    1、别忘记样式初始化;
    2、复习css文件的引用方式;(类引用方式)
    3、复习绝对定位和相对定位关系(父关系用relative;子关系用absolute

    二、js部分:

    1、element.style.left & element.offsetLeft区别:

    ① 前者单位是px,是字符串;后者单位是数值;
    ② 其他参见:http://www.jb51.net/article/43981.htm

    2、思路开始不够清晰,未能抽象出鼠标放上和移开关键变量——目标位置不同而已

    3、函数参数尽可能少(在能达成目标的情况下)

    4、鼠标作用对象设置为父级p最好,不然会出现闪烁情况(刚调用onmouseover,目标移除,又调用了onmouseout

    5、注意清除定时器(①、防止移动时速度不稳定 ②、到目标位置停止运动)

    三、其他:

    Q:谷歌浏览器解除禁止弹出窗口?

    A:设置——高级设置——隐私设置——内容设置——弹出式窗口,进行相关设置。

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    怎样进行JS内DOM节点使用

    怎样使用JS实现缓冲运动

    以上就是怎样操作JS实现简单折叠展开动画的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript 折叠 简单
    上一篇:通过在vue项目中引入noVNC远程桌面的方法步骤有哪些 下一篇:通过在vue项目中使用ueditor(详细教程)
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 什么是消息队列?node中如何使用消息队列?• JavaScript的Symbol类型、隐藏属性及全局注册表详解• 18个常见angular面试题(附答案分析)• 浅析IDEA中如何开发Angular• 整理总结JavaScript常见的BOM操作
    1/1

    PHP中文网