jQuery实现文字向上滚动


  在一些网页中,我们会看到有一行或多行文字向上滚动,就像轮播一样。那我们如何实现它呢,现在就开始吧!

  单行文字

 html代码

 <div id="scrollDiv"> 
      <ul> 
         <li>百度 www.baidu.com</li> 
         <li>脚本之家 www.jb51.net</li> 
         <li>这是公告标题的第三行</li> 
         <li>这是公告标题的第四行</li> 
         <li>这是公告标题的第五行</li> 
         <li>这是公告标题的第六行</li> 
         <li>这是公告标题的第七行</li> 
         <li>这是公告标题的第八行</li> 
      </ul> 
 </div>

 css样式

<style> *{margin:0; padding:0;} #scrollDiv{width: 500px; height: 25px; line-height: 25px;/*这里的height是25px*/ 
margin
:50px auto; overflow:hidden;} #scrollDiv li{height:25px; cursor:pointer;} </style>

jQuery程序

<script src="jquery-1.11.3.js"></script>

  <script>
      function autoscroll(obj){

                                      //这里的25px是#scrollDiv的高度

          $(obj).find("ul:first").animate({marginTop:"-25px"},1000,function(){
              $(this).css("marginTop","0px").find("li:first").appendTo(this)
           })/*$(this).css("marginTop","0px")这里也许会有人搞不明白,为什么又设为0。因为在ul向上移25px的时候,其第一个li会添加到ul的末尾,如果ul的marginTop不设为0的话,整个ul就会慢慢移出它的父盒子,最后使得它的父盒子变空,实现不了原本想要实现的效果。*/
       }
 $(document).ready(function(){
      setInterval('autoscroll("#scrollDiv")',1500)
 })
</script>

多行文字

这里的html代码同上

css样式

<style> *{margin:0; padding:0;} #scrollDiv{width: 500px; height: 100px; line-height: 25px; 
margin
:50px auto; overflow:hidden;}/*这里的height是100px*/ #scrollDiv li{height:25px; cursor:pointer;} </style>

jQuery程序

<script src="jquery-1.11.3.js"></script>
<script>
            function autoscroll(obj){ $(obj).find("ul:first").animate({marginTop:"-100px"},500,function(){ var str=$(this).css("marginTop","0px") for(var i=0;i<4;i++){/*这里的for循环目的是让ul里的前四个li一起添加到ul的末尾,
实现多行文字滚动。i可以根据实际需要而定。*/ str.find(
"li:first").appendTo(this) } }) } $(document).ready(function(){ setInterval('autoscroll("#scrollDiv")',1500) }) </script>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM