源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS实现侧悬浮浮动实例代码

  • 时间:2020-01-12 23:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS实现侧悬浮浮动实例代码
效果: [img]http://files.jb51.net/file_images/article/201311/20131129163754069.gif[/img] 思路: 首先,加载onscroll控制滚动条。然后写缓存运动的方法,缓冲运动的方法是先计算出DIV缓冲的速度,并且将其取整,再进行运动判断什么时候到达终点。最后将其参数返回。再在onscroll里面调用此方法,并且将终点计算出来赋予此方法的参数。 代码:
[u]复制代码[/u] 代码如下:
<head runat="server">     <title></title>     <style type="text/css">         #div1         {             width: 200px;             height: 200px;             background: #0000FF;             position: absolute;             right: 0;             bottom: 0;         }     </style>     <script type="text/javascript">         window.onscroll = function () {             var oDiv = document.getElementById('div1');             var DivScroll = document.documentElement.scrollTop || document.body.scrollTop;      //获取移动高度             //                        oDiv.style.top = (document.documentElement.clientHeight - oDiv.offsetHeight)/2 + DivScroll + 'px';             move(parseInt((document.documentElement.clientHeight - oDiv.offsetHeight) / 2 + DivScroll));    //调用传参,其中里面的参数是DIV要走的终点。也就是(可视高度-DIV高度)/2+移动高度         };         var timer = null;         function move(end) {             clearInterval(timer);       //首先,先关闭之前如果有开启的setInterval;             timer = setInterval(function () {                       var oDiv = document.getElementById('div1');                 var speed = (end - oDiv.offsetTop) / 5;     //计算DIV要走的速度,DIV要走的速度就等于(终点-offsetTop高度)/缩放系数                 speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);       //为了避免小数,将其取整                 if (oDiv.offsetTop == end) {        //当DIV到达终点,则关闭setInterval;                     clearInterval(timer);                 }                 else {                     oDiv.style.top = oDiv.offsetTop + speed + 'px';     //移动div                 }             }, 30);         }     </script> </head> <body style="height: 1000px;">     <div id="div1">     </div> </body>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部