javascript实现无缝上下滚动特效


Posted in Javascript onDecember 16, 2015

本文实例讲解了javascript实现无缝上下滚动的代码,分享给大家供大家参考,具体内容如下

js实现上下无缝滚动的原理是这样的:
1、首先给容器设定高度或宽度,然后overflow:hidden;
2、容器高度设定后,内容超出则被隐藏。
3、改变容器的scrollTop(上下滚动)属性的值,让内容上下移动一个节点的位置(滚动的原理);
4、到滚动的高度scrollTop大于或等于要滚动节点的高度时,设置scrollTop=0,并把把子节点树中的第一个移动到最后,重新开始滚动,无间断循环滚动效果就出现了。

效果图如下:

javascript实现无缝上下滚动特效

代码如下:

<div id="colee" style="overflow:hidden;height:100px;width:410px;border:1px solid red;">
<div id="colee1">
<p>php</p>
<p>java</p>
<p>ruby</p>
<p>python</p>
<p>www.phpddt.com</p>
</div>
<div id="colee2"></div>
</div>
<script>
//速度设置
var speed=1;
var colee2=document.getElementById("colee2");
var colee1=document.getElementById("colee1");
var colee=document.getElementById("colee");
colee2.innerHTML=colee1.innerHTML; //克隆colee1为colee2
function Marquee1(){
//当滚动至colee1与colee2交界时
if(colee2.offsetTop-colee.scrollTop<=0){
 colee.scrollTop-=colee1.offsetHeight; //colee跳到最顶端
 }else{
 colee.scrollTop++
}
}
var MyMar1=setInterval(Marquee1,speed)//设置定时器
//鼠标移上时清除定时器达到滚动停止的目的
colee.onmouseover=function() {clearInterval(MyMar1)}
//鼠标移开时重设定时器
colee.onmouseout=function(){MyMar1=setInterval(Marquee1,speed)}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
js文件缓存之版本管理详解
Jul 05 Javascript
实例详解ECMAScript5中新增的Array方法
Apr 05 Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 Javascript
jQuery表单插件ajaxForm实例详解
Jan 17 Javascript
jQuery窗口拖动功能的实现代码
Feb 04 Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
Node.js引入UIBootstrap的方法示例
May 11 Javascript
JavaScript设计模式之建造者模式实例教程
Jul 02 Javascript
element-ui的回调函数Events的用法详解
Oct 16 Javascript
通过实例了解JS 连续赋值
Sep 24 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
js实现将选中内容分享到新浪或腾讯微博
Dec 16 #Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 #Javascript
Sublime Text 3常用插件及安装方法
Dec 16 #Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
Dec 16 #Javascript
基于JavaScript获取鼠标位置的各种方法
Dec 16 #Javascript
javascript基于prototype实现类似OOP继承的方法
Dec 16 #Javascript
javascript数组克隆简单实现方法
Dec 16 #Javascript
You might like
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
JavaScript 乱码问题
2009/08/06 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
python实现无证书加密解密实例
2014/10/27 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python数据结构之单链表详解
2017/09/12 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
python 自动重连wifi windows的方法
2018/12/18 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
财务管理专业自荐信范文
2013/12/24 职场文书
运动会通讯稿400字
2014/01/28 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
安全教育的主题班会
2015/08/13 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis
element多个表单校验的实现
2021/05/27 Javascript
一文搞懂php的垃圾回收机制
2021/06/18 PHP
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
MySQL 计算连续登录天数
2022/05/11 MySQL