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 相关文章推荐
JavaScript 语言的递归编程
May 18 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
得到form下的所有的input的js代码
Nov 07 Javascript
jquery.mobile 共同布局遇到的问题小结
Feb 10 Javascript
JavaScript模仿Pinterest实现图片预加载功能
Oct 25 Javascript
React Native之TextInput组件解析示例
Aug 22 Javascript
AjaxUpLoad.js实现文件上传功能
Mar 02 Javascript
vue实现中部导航栏布局功能
Jul 30 Javascript
JS严格模式原理与用法实例分析
Apr 27 Javascript
js实现简单贪吃蛇游戏
May 15 Javascript
JavaScript 绘制饼图的示例
Feb 19 Javascript
Vue vee-validate插件的简单使用
Jun 22 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
用ODBC的分页显示
2006/10/09 PHP
php 静态变量的初始化
2009/11/15 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
学习ExtJS border布局
2009/10/08 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
举例讲解Python常用模块
2019/03/08 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
python数据化运营的重要意义
2019/11/25 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
Django中FilePathField字段的用法
2020/05/21 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
计算机毕业大学生推荐信
2013/12/01 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
消防安全责任书范本
2014/04/15 职场文书
运动会加油口号
2014/06/07 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android