基于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 相关文章推荐
PHP 与 js的通信(via ajax,json)
Nov 16 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
Dec 24 Javascript
js变形金刚文字特效代码分享
Aug 20 Javascript
js事件处理程序跨浏览器解决方案
Mar 27 Javascript
JS面试题---关于算法台阶的问题
Jul 26 Javascript
详解Javascript中DOM的范围
Feb 13 Javascript
Bootstrap fileinput文件上传组件使用详解
Jun 06 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
vuex存取值和映射函数使用说明
Jul 24 Javascript
微信小程序实现单个或多个倒计时功能
Nov 01 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
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
Python模块结构与布局操作方法实例分析
2017/07/24 Python
Sublime开发python程序的示例代码
2018/01/24 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
专升本个人自我评价
2013/12/22 职场文书
公司薪酬管理制度
2014/01/31 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
法定代表人授权委托书
2014/09/19 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
python和anaconda的区别
2022/05/06 Python