热门IT资讯网

Jquery文字一行一行向上滚动

发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,Jquery文字一行一行向上滚动 效果是用了Jquery中animate这个方法实现的 相对来说是蛮简单的 虽然是简单点 还是要分享下 基本原理就是:运用了一个小技巧 滚动的高度和每个li的高度一样的

Jquery文字一行一行向上滚动 效果是用了Jquery中animate这个方法实现的 相对来说是蛮简单的 虽然是简单点 还是要分享下 基本原理就是:运用了一个小技巧 滚动的高度和每个li的高度一样的,先找到外层ul的容器 然后相对于外层的容器进行向上滚动 ul在css里面没有设置他的高度 默认情况下是n个li×li的高度 向上是marginTop: -li.height(每个li的高度);
* 当滚动到最后一个li时候 那么最外层的容器应该滚动到0了 那么我就把第一个li加到ul里面去 这样就实现了循环滚动
* 而不会滚动到最后一个就停止下来了 基本的HTML/CSS如下

  1. >
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Untitled Documenttitle>
  6. <style type="text/css">
  7. ul,li{list-style:none; margin:0; padding:0;}
  8. .scroll{ width:500px; height:175px; overflow:hidden; border:1px solid #333; margin:50px auto 0;}
  9. .scroll li{ width:500px; height:25px; line-height:25px; overflow:hidden;}
  10. .scroll li a{ font-size:14px; font-family:"宋体";color:#333; text-decoration:none;}
  11. .scroll li a:hover{ text-decoration:underline;}
  12. style>
  13. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js">script>
  14. head>
  15. <body>
  16. <div class="scroll">
  17. <ul class="list">
  18. <li><a href="#" target="_blank">我来博主的空间了a>li>
  19. <li><a href="#" target="_blank">我来博主的空间了a>li>
  20. <li><a href="#" target="_blank">我来博主的空间了a>li>
  21. <li><a href="#" target="_blank">我来博主的空间了a>li>
  22. <li><a href="#" target="_blank">我来博主的空间了a>li>
  23. <li><a href="#" target="_blank">我来博主的空间了a>li>
  24. <li><a href="#" target="_blank">我来博主的空间了a>li>
  25. ul>
  26. div>
  27. <script type="text/javascript" src="index.js">script>
  28. body>
  29. html>

JS代码如下:

  1. /**
  2. * @author tugenhua
  3. * @email [email protected]
  4. * 一行一行文字向上滚动js
  5. * 运用了Jquery中的animate动画方法
  6. * 运用了一个小技巧 滚动的高度和每个li的高度一样
  7. * 先找到外层ul的容器 然后相对于外层的容器进行向上滚动 ul没有设置他的高度 默认情况下是n个li×li的高度 向上是marginTop: -li.height(每个li的高度);
  8. * 当滚动到最后一个li时候 那么最外层的容器应该滚动到0了 那么我就把第一个li加到ul里面去 这样就实现了循环滚动
  9. * 而不会滚动到最后一个就停止下来了
  10. */
  11. function autoScroll(obj){
  12. $(obj).find(".list").animate({
  13. marginTop : "-25px"
  14. },500,function(){
  15. $(this).css({marginTop : "0px"}).find("li:first").appendTo(this);
  16. })
  17. }
  18. $(function(){
  19. setInterval('autoScroll(".scroll")',3000)
  20. })

下面我上传个附件 不明白的地方可以看看!

附件:http://down.51cto.com/data/2359306
0