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 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
jQuery 常见操作实现方式和常用函数方法总结
May 06 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
Feb 02 Javascript
jQuery实现的在线答题功能
Apr 12 Javascript
jQuery实现图片左右滚动特效
Apr 20 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
vue多级多选菜单组件开发
Sep 08 Javascript
JavaScript实现多栏目切换效果
Dec 12 Javascript
vue组件间通信解析
Mar 01 Javascript
bootstrap实现二级下拉菜单效果
Nov 23 Javascript
页面点击小红心js实现代码
May 26 Javascript
Node.js API详解之 string_decoder用法实例分析
Apr 29 Javascript
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
将OICQ数据转成MYSQL数据
2006/10/09 PHP
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
详解如何较好的使用js
2016/12/16 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
React中的refs的使用教程
2018/02/13 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
Python使用gRPC传输协议教程
2018/10/16 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
物流仓管员岗位职责
2013/12/04 职场文书
周年庆典主持词
2014/04/02 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
追讨欠款律师函
2015/05/27 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python