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的版本实现执行不同的代码
May 11 Javascript
JQuery中each()的使用方法说明
Aug 19 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
Sep 30 Javascript
js关闭父窗口时关闭子窗口
Apr 01 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
Mar 25 Javascript
基于javascript如何传递特殊字符
Nov 30 Javascript
全面理解JavaScript中的继承(必看)
Jun 16 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
Aug 25 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
Apr 25 jQuery
快速解决brew安装特定版本flow的问题
May 17 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
Dec 09 Javascript
在react-antd中弹出层form内容传递给父组件的操作
Oct 24 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中文分词的简单实现代码分享
2011/07/17 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
js 操作符实例代码
2009/10/24 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
python爬虫开发之selenium模块详细使用方法与实例全解
2020/03/09 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
Python中生成ndarray实例讲解
2021/02/22 Python
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
财经学院自荐信范文
2014/02/02 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
自主招生自荐信格式
2015/03/04 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android