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


Posted in Javascript onNovember 29, 2013

效果:

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

思路:

首先,加载onscroll控制滚动条。然后写缓存运动的方法,缓冲运动的方法是先计算出DIV缓冲的速度,并且将其取整,再进行运动判断什么时候到达终点。最后将其参数返回。再在onscroll里面调用此方法,并且将终点计算出来赋予此方法的参数。

代码:

<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>
Javascript 相关文章推荐
JavaScript读取中文cookie时的乱码问题的解决方法
Oct 14 Javascript
javascript eval和JSON之间的联系
Dec 31 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
Nov 14 Javascript
基于KMP算法JavaScript的实现方法分析
May 03 Javascript
JS中的prototype与面向对象的实例讲解
May 22 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 Javascript
js生成的验证码的实现与技术分析
Sep 17 Javascript
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
完美解决axios在ie下的兼容性问题
Mar 05 Javascript
webpack DllPlugin xxx is not defined解决办法
Dec 13 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 #Javascript
JS实现日期加减的方法
Nov 29 #Javascript
js弹出层永远居中实现思路及代码
Nov 29 #Javascript
根据表格中的某一列进行排序的javascript代码
Nov 29 #Javascript
JS取文本框中最小值的简单实例
Nov 29 #Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 #Javascript
js简单实现根据身份证号码识别性别年龄生日
Nov 29 #Javascript
You might like
德劲1103的维修打理经验
2021/03/02 无线电
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
护士自我鉴定
2013/10/23 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
公司营业员的自我评价
2014/03/04 职场文书
学生期末评语大全
2014/04/30 职场文书
感恩教育活动总结
2014/05/05 职场文书
考博专家推荐信
2014/05/10 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
个人年终总结结尾
2015/03/06 职场文书
专家推荐信范文
2015/03/26 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python