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 16 Javascript
js两行代码按指定格式输出日期时间
Oct 21 Javascript
js调用activeX获取u盘序列号的代码
Nov 21 Javascript
浅谈类似于(function(){}).call()的js语句
Mar 30 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
Nov 19 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
Jun 24 Javascript
深入理解Node.js 事件循环和回调函数
Nov 02 Javascript
Web前端框架Angular4.0.0 正式版发布
Mar 28 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
Apr 18 Javascript
详解vue-router2.0动态路由获取参数
Jun 14 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 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的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
js实现简单计算器
2015/11/22 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
利用python发送和接收邮件
2016/09/27 Python
Python 多线程Threading初学教程
2017/08/22 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
Python持续监听文件变化代码实例
2020/07/22 Python
介绍一下游标
2012/01/10 面试题
什么是命名空间(NameSpace)
2015/11/24 面试题
explicit和implicit的含义
2012/11/15 面试题
营销与策划个人求职信
2013/09/22 职场文书
中专毕业生的自我鉴定
2013/12/01 职场文书
园林毕业生自我鉴定范文
2013/12/29 职场文书
公益广告语集锦
2014/03/13 职场文书
高中家长寄语
2014/04/02 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书