基于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 相关文章推荐
可输入的下拉框
Jun 19 Javascript
让AJAX不依赖后端接口实现方案
Dec 03 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
Oct 17 Javascript
js中匿名函数的创建与调用方法分析
Dec 19 Javascript
Jquery 实现checkbox全选方法
Jan 28 Javascript
浅析2种JavaScript继承方式
Dec 04 Javascript
jQuery隐藏和显示效果实现
Apr 06 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
js中作用域的实例解析
Mar 16 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
Jun 11 Javascript
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
Node.js API详解之 readline模块用法详解
May 22 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
thinkphp配置连接数据库技巧
2014/12/02 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
php二维码生成以及下载实现
2017/09/28 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
JavaScript Prototype对象
2009/01/07 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
详解a++和++a的区别
2017/08/30 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
Python冒泡排序注意要点实例详解
2016/09/09 Python
Python数据分析库pandas基本操作方法
2018/04/08 Python
python实现可逆简单的加密算法
2019/03/22 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
python中pickle模块浅析
2020/12/29 Python
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
美国最大和最受信任的二手轮胎商店:Bestusedtires.com
2020/06/02 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
最受欢迎的自我评价
2013/12/22 职场文书
2015年社区工作总结
2015/04/08 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
美元符号 $
2022/02/17 杂记