基于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 相关文章推荐
javascript中的有名函数和无名函数
Oct 17 Javascript
stream.js 一个很小、完全独立的Javascript类库
Oct 28 Javascript
JS获取浏览器版本及名称实现函数
Apr 02 Javascript
可以用鼠标拖动的DIV实现思路及代码
Oct 21 Javascript
AngularJS基础 ng-show 指令简单示例
Aug 03 Javascript
原生JavaScript制作计算器
Oct 16 Javascript
js异步编程小技巧详解
Aug 14 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
Feb 14 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
Jul 21 Javascript
JavaScript文档加载模式以及元素获取
Jul 28 Javascript
JavaScript 几种循环方式以及模块化的总结
Sep 03 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
php日历[测试通过]
2008/03/27 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
详解Python的Django框架中的中间件
2015/07/24 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
冰淇淋店创业计划书范文
2013/12/27 职场文书
超市中秋节促销方案
2014/03/21 职场文书
主持人演讲稿
2014/05/13 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
开学第一周值周总结
2015/07/16 职场文书
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
优化Mysql查询的示例
2022/04/26 MySQL