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

 更新时间:2016年01月22日 09:28:49   作者:愚蠢的神  
当新闻较多,并且空前有限的时候,使用滚动是一个不错的选择,本章节就通过代码实例介绍一下如何实现此效果,对无缝向上滚动实例代码感兴趣的朋友一起学习吧

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

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="https://www.jb51.net/" />
<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实现仿京东放大镜效果

    这篇文章主要为大家详细介绍了如何利用JavaScript实现仿京东放大镜特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • js+html5通过canvas指定开始和结束点绘制线条的方法

    js+html5通过canvas指定开始和结束点绘制线条的方法

    这篇文章主要介绍了js+html5通过canvas指定开始和结束点绘制线条的方法,涉及html5属性的操作技巧,需要的朋友可以参考下
    2015-06-06
  • js日期相关函数总结分享

    js日期相关函数总结分享

    最近写了一个倒计时程序,因为经常要在手机端访问,所以没有引用jquery,对于用习惯jquery的我还真不习惯。下面简单说明js日期相关函数,并说明实现倒计时的原理
    2013-10-10
  • javascript实现移动的模态框效果

    javascript实现移动的模态框效果

    这篇文章主要为大家详细介绍了javascript实现移动的模态框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 微信公众号weixin-js-sdk使用方法总结

    微信公众号weixin-js-sdk使用方法总结

    最近做了一个活动页面,需要自定义微信分享的标题、详情、缩略图和url,使用到了jssdk,这篇文章主要给大家介绍了关于微信公众号weixin-js-sdk使用方法的相关资料,需要的朋友可以参考下
    2022-12-12
  • 前端date.locale is not a function错误的简单解决办法

    前端date.locale is not a function错误的简单解决办法

    这篇文章主要给大家介绍了关于前端date.locale is not a function错误的简单解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • ES6模块化的import和export用法方法总结

    ES6模块化的import和export用法方法总结

    这篇文章主要介绍了ES6模块化的import和export用法方法总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • javascript 通用loading动画效果实例代码

    javascript 通用loading动画效果实例代码

    这篇文章主要介绍了javascript 通用loading动画效果实例代码,有需要的朋友可以参考一下
    2014-01-01
  • js裁剪(分隔)字符串的三种常用方法

    js裁剪(分隔)字符串的三种常用方法

    在开发中我们经常会遇到对于字符串的部分取舍问题,本文主要介绍了js裁剪(分隔)字符串的三种常用方法,今天我们来看看3中常用的方法来解决这个问题,感兴趣的可以一起了解一下
    2022-02-02
  • JS中的函数与对象的创建方式

    JS中的函数与对象的创建方式

    这篇文章主要介绍了JS中的函数与对象的创建方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05

最新评论