你的位置:首页 > Java教程

[Java教程]利用js来实现文字的滚动(也就是我们常常见到的新闻版块中的公示公告)


首先先看一下大致效果图(因为是动态的,在页面无法显示出来)

具体的实现代码如下:

1.首先是css代码:

<style type="text/css">body,ul,li,a,p,div{padding:0px; margin:0px; font-size:14px;}ul,li{list-style:none;}a{ text-decoration:none; color:#333;} #demo{    overflow:hidden; /*溢出的部分不显示*/    width:290px;    height:228px;/*一定要确切,避免demo1与demo2之间的距离过大*/    padding:5px;    margin:50px auto;    }#express li{      list-style:none;      font-size:14px;      height:25px;      margin:0px 5px;      line-height:180%;/*行与行之间的距离*/      letter-spacing:2px;/*字与字之间的距离*/      border-bottom:1px dashed #ccc;      cursor:pointer;      }</style>

2.内容代码如下:

<div id="demo" >  <div id="demo1" >    <ul id="express">      <li><a href="#">召开背街小巷综合整治工作调度会</a></li>      <li><a href="#">平原街道加大出店经营整治</a></li>      <li><a href="#">平原街道召开计生业务培训会</a></li>
       <li><a href="#">平原街道:干部进村入户宣传促征迁</a></li>
       <li><a href="#">平原街道:为返乡群众免费孕检</a></li> <li><a href="#">平原街道:狠抓春运道路交通安全</a></li> </ul> </div> <div id="demo2"></div></div>

3.最后是最关键的js代码:

<script type="text/javascript">  //获取id=demo,id=demo1,id=demo2的元素对象,并把id=demo1的内容赋值给id=demo2  var demo=document.getElementById("demo");  var demo1=document.getElementById("demo1");  var demo2=document.getElementById("demo2");  demo2.innerHTML=demo1.innerHTML;  //给demo1,demo2加相同的高度  demo1.style.height=demo.offsetHeight+"px";  demo2.style.height=demo.offsetHeight+"px";  //定时器,每隔50毫秒调用一次scrollup()函数,来实现文字的滚动  var timer=window.setInterval("scrollup()",50);  //定义函数  function scrollup()  {    //如果demo滚上去的高度大于demo的高度,重新给demo赋值从0再开始滑动    if(demo.scrollTop>=demo.offsetHeight)    {      demo.scrollTop=0;    }else    {      demo.scrollTop++;    }  }  //鼠标放上停止滚动,鼠标离开继续滚动    demo.onmouseover=function(){                  //清除定时器                  clearInterval(timer);                  }    demo.onmouseout=function(){                  //添加定时器                  timer=window.setInterval("scrollup()",50);                  }</script>