基于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 相关文章推荐
jQuery Jcrop插件实现图片选取功能
Nov 23 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
js之事件冒泡和事件捕获详细介绍
Oct 28 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
jQuery获取字符串中出现最多的数
Feb 22 Javascript
详解vue-router基本使用
Apr 18 Javascript
浅谈箭头函数写法在ReactJs中的使用
Aug 22 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
Vue自定义指令封装节流函数的方法示例
Jul 09 Javascript
Vue路由守卫之路由独享守卫
Sep 25 Javascript
laravel实现中文和英语互相切换的例子
Sep 30 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开发中的错误收集,不定期更新。
2011/02/03 PHP
PHP count()函数讲解
2019/02/03 PHP
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
vue跨域解决方法
2017/10/15 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
详解Python字典的操作
2019/03/04 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python中while和for的区别总结
2019/06/28 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
解决Python二维数组赋值问题
2019/11/28 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
优秀毕业大学生推荐信
2013/11/13 职场文书
农村门前三包责任书
2014/07/25 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
初中信息技术教学计划
2015/01/22 职场文书
经费申请报告范文
2015/05/18 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python