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 相关文章推荐
jQuery 打造动态下滑菜单实现说明
Apr 15 Javascript
js中prototype用法详细介绍
Nov 14 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
Dec 24 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
解决使用vue.js路由后失效的问题
Mar 17 Javascript
angular2 ng2-file-upload上传示例代码
Aug 23 Javascript
angularjs http与后台交互的实现示例
Dec 21 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
js将URL网址转为16进制加密与解密函数
Mar 04 Javascript
vue 中使用print.js导出pdf操作
Nov 13 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
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
PHP类的封装与继承详解
2015/09/29 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
Python连接phoenix的方法示例
2017/09/29 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
网络工程师专家职业发展路线
2014/02/14 职场文书
班班通校本培训方案
2014/03/12 职场文书
师德师风自查材料
2014/10/14 职场文书
国庆庆典邀请函
2015/02/02 职场文书
开学第一周总结
2015/07/16 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android
CentOS MySql8 远程连接实战
2022/04/19 MySQL