基于JS实现新闻列表无缝向上滚动实例代码


Posted in Javascript onJanuary 22, 2016

当新闻较多,并且空前有限的时候,使用滚动是一个不错的选择,本章节就通过代码实例介绍一下如何实现此效果。

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="https://3water.com/" />
<title>文字列表无缝向上滚动代码</title>
<style type="text/css">
*{
margin:0px;
padding:0px;
border:0px;
}
body{font-size:12px}
#demo{
overflow:hidden;
height:80px;
width:280px;
margin:90px auto;
position:relative;
}
#demo1{
height:auto;
text-align:left;
}
#demo2{
height:auto;
text-align:left;
}
#demo1 li{
list-style-type:none;
height:22px;
text-align:left;
text-indent:15px;
}
#demo2 li{
list-style-type:none;
height:22px;
text-align:left;
text-indent:15px;
}
</style>
<script type="text/javascript"> 
var speed=40 
window.onload=function(){
var demo=document.getElementById("demo"); 
var demo2=document.getElementById("demo2"); 
var demo1=document.getElementById("demo1"); 
demo2.innerHTML=demo1.innerHTML 
function Marquee(){ 
if(demo.scrollTop>=demo1.offsetHeight){
demo.scrollTop=0; 
}
else{ 
demo.scrollTop=demo.scrollTop+1;
} 
} 
var MyMar=setInterval(Marquee,speed) 
demo.onmouseover=function(){clearInterval(MyMar)} 
demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)} 
}
</script>
</head>
<body>
<div id="demo">
<ul id="demo1">
<li><a href="#" target="_blank">三水点靠木欢迎您的到来</a></li>
<li><a href="#" target="_blank">只有努力才会有美好的明天</a></li>
<li><a href="#" target="_blank">没有人一开始就是高手,都是从菜鸟开始</a></li>
<li><a href="#" target="_blank">每一天都是新的需要好好珍惜</a></li>
<li><a href="#" target="_blank">怨天尤人是没有任何作用的</a></li>
<li><a href="#" target="_blank">今天你写代码了吗</a></li>
<li><a href="#" target="_blank">分享的胸怀和互助的精神最终成就了你</a></li>
</ul>
<div id="demo2"></div>
</div>
</body>
</html>

以上代码实现了新闻列表滚动效果,下面介绍一下实现过程:

一.实现原理:

大致原理如下,demo元素中有两个子元素demo1和demo2,并且将demo1中的内容存入demo2中,之所以这样做,是为了当向上滚动的时候,demo2能够接在demo1的后面,否则将不是无缝滚动,而是有缝滚动了,当demo1的内容完全被遮挡之后,也就是demo1完全滚动上去的时候,demo2会恰好位于demo1开始滚动的位置,然后再重新设置demo的scrollTop值,让滚动就重新来过,这样就实现了无缝滚动效果。

基于JS实现新闻列表无缝向上滚动实例代码就给大家介绍到这里,希望大家根据自己的实际需求应用此段代码。

Javascript 相关文章推荐
新浪刚打开页面出来的全屏广告代码
Apr 02 Javascript
基于jQuery的获得各种控件Value的方法
Nov 19 Javascript
jQuery拖动图片删除示例
May 10 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
Mar 26 Javascript
js绘制购物车抛物线动画
Nov 18 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
Feb 23 Javascript
div中文字内容溢出常见的解决方法
Mar 16 Javascript
vue-cli如何快速构建vue项目
Apr 26 Javascript
纯JS实现只能输入数字的简单代码
Jun 21 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 Javascript
vue-content-loader内容加载器的使用方法
Aug 05 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
Feb 10 Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 #Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 #Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
Jan 22 #Javascript
jQuery解析json格式数据简单实例
Jan 22 #Javascript
基于javascript实现根据身份证号码识别性别和年龄
Jan 22 #Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 #Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 #Javascript
You might like
用PHP实现多服务器共享SESSION数据的方法
2007/03/16 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
js left,right,mid函数
2008/06/10 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python iter()函数用法实例分析
2018/03/17 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
计算机应用专业推荐信
2013/11/13 职场文书
前厅部经理岗位职责范文
2014/02/04 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python