js:超炫的滚动效果

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script src="js/public.js" type="text/javascript"></script>
<style>
* {
 margin:0px;
 padding:0px;
}
ul li {
 list-style-type:none;
}
body {
 font-size:12px; 
 font-family: "宋体", Arial;
}
div {
 margin:0 auto;
}
.dv{
 width:500px;
 height:504px;
 border:1px solid blue;
 overflow:hidden;
}
.dv ul{
 height:100px;
 border-bottom:1px dashed red;
 overflow:hidden;
}
.dv ul li{
 padding-left:50px;
 line-height:25px;
 overflow:hidden;
}
</style>
</head>
<body>
<div id="dota1" class="dv">
 <ul cur_li= li_s=>
  <li>第一条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第二条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第三条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第四条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
 </ul>
 <ul cur_li= li_s=>
  <li>第五条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第六条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第七条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第八条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
 </ul>
 <ul cur_li= li_s=>
  <li>第九条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十一条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十二条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
 </ul>
 <ul cur_li= li_s=>
  <li>第十三条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十四条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十五条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十六条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
 </ul>
 <ul cur_li= li_s=>
  <li>第十七条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十八条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第十九条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
  <li>第二十条<br>今天是2001-10-1,美好的一天<br>国庆快乐<br>johnson</li>
 </ul>
</div>
<script>
function ScrollBottom(dvId){
    var dota1=$("#"+dvId),
        ta_tc1=dota1.find("ul");
    if(dota1.size()==0){return false;}
    var scroll=function(uls){
        //复制一次内部的li
        var li_h=uls.eq(0).find("li").outerHeight();
        var topVal=(uls.eq(0).find("li").size()*2-1)*li_h;
        this.copy=function(){
            uls.each(function(){
                var lis=$(this).find("li");
                $(this).append(lis.clone());
                $(this).attr("li_s",lis.size()*2);
                $(this).attr("cur_li",lis.size()*2-1);
            });
        }
        this.copy();
        //移动到最下边的li
        this.toLast=function(){
            uls.each(function(){
                $(this).scrollTop(topVal);
            });
        }
        this.toLast();

        var timer=null;//滚动的超时时间
        var i=0;
        //开始滚动ul数组
        function start(i)
        {
            var cur_ul=uls.eq(i);
            if(cur_ul){
                cur_ul.animate({scrollTop:cur_ul.scrollTop()-li_h},function(){
                    var cur_li=parseInt(cur_ul.attr("cur_li"));
                    var li_s=parseInt(cur_ul.attr("li_s"));
                    cur_li--;
                    if((li_s/2-1)==cur_li)
                    {
                        cur_ul.attr("cur_li",li_s-1);
                        $(this).scrollTop(topVal);
                    }else{
                        cur_ul.attr("cur_li",cur_li);
                    }
                    start(++i);
                });
            };
        }
        timer=setInterval(function(){ start(i);},3000);
    }
    scroll(ta_tc1);
}
ScrollBottom("dota1");
</script>
</body>
</html>

注意:看效果,首先要下载一个jquery-1.3.2.min.js文件或更高版本

转载于:https://www.cnblogs.com/caism/archive/2011/08/17/2142768.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值