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 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
jquery动态增加删除表格行的小例子
Nov 14 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
Jan 12 Javascript
解决json日期格式问题的3种方法
Feb 02 Javascript
jQuery 回车事件enter使用示例
Feb 18 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
js实现鼠标左右移动,图片也跟着移动效果
Jan 25 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 Javascript
element-ui组件中input等的change事件中传递自定义参数
May 22 Javascript
关于layui 下拉列表的change事件详解
Sep 20 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
php生成excel文件的简单方法
2014/02/08 PHP
php筛选不存在的图片资源
2015/04/28 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
javascript实现的listview效果
2007/04/28 Javascript
javascript this用法小结
2008/12/19 Javascript
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
Python学生信息管理系统修改版
2018/03/13 Python
python实现弹窗祝福效果
2019/04/07 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
keras之权重初始化方式
2020/05/21 Python
详解python算法常用技巧与内置库
2020/10/17 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
新员工欢迎词
2014/01/12 职场文书
期中考试后的反思
2014/02/08 职场文书
中国好声音华少广告词
2014/03/17 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
淘宝活动总结范文
2014/06/26 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
幼儿学前班评语
2014/12/29 职场文书
学生犯错保证书
2015/05/09 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书