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 相关文章推荐
11款基于Javascript的文件管理器
Oct 25 Javascript
javascript中用星号表示预录入内容的实现代码
Jan 08 Javascript
jquery focus(fn),blur(fn)方法实例代码
Dec 16 Javascript
js 金额文本框实现代码
Feb 14 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 Javascript
js图片轮播手动切换效果
Nov 10 Javascript
js验证框架实现代码分享
May 18 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 Javascript
canvas实现图像截取功能
Feb 06 Javascript
vue v-model动态生成详解
Jun 30 Javascript
对angularJs中自定义指令replace的属性详解
Oct 09 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中var_dump方法的使用详解
2013/06/24 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
php-perl哈希算法实现(times33哈希算法)
2013/12/30 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
付款委托书范本
2014/10/05 职场文书
2014年防汛工作总结
2014/12/08 职场文书
转正申请报告格式
2015/05/15 职场文书
关于环保的广播稿
2015/12/17 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
浅谈Python 中的复数问题
2021/05/19 Python