首页新闻找找看学习计划

如何控制滚动<li>的个数?

0
[已解决问题] 解决于 2015-06-26 14:25
 <script type="text/javascript">
    $(function(){ 
    var $this = $(".list"); 
    var scrollTimer; 
    $this.hover(function(){ 
    clearInterval(scrollTimer); 
    },function(){ 
    scrollTimer = setInterval(function(){ 
    scrollNews( $this ); 
    }, 2000 ); 
    }).trigger("mouseout"); 
    }); 
    function scrollNews(obj){ 
    var $self = obj.find("ul:first"); 
    var lineHeight = $self.find("li:first").height(); 
    $self.animate({ "margin-top" : -lineHeight +"px" },500 , function(){ 
    $self.css({"margin-top":"0px"}).find("li:first").appendTo($self); 
    }) 
    } 

</script>

每次都是从下面自己多蹦出来一个,而且数据多一条就会在下面额外多出一条显示数据..怎么让他就显示这几条然后滚动啊?

YaYou~的主页 YaYou~ | 初学一级 | 园豆:6
提问于:2015-06-26 14:03
< >
分享
最佳答案
1

哦。建议设置第一个li向上负外边距。UL不动。只操作li的外边距

 <script type="text/javascript">
    $(function(){ 
    var $this = $(".list"); 
    var scrollTimer; 
    $this.hover(function(){ 
    clearInterval(scrollTimer); 
    },function(){ 
    scrollTimer = setInterval(function(){ 
    scrollNews( $this ); 
    }, 2000 ); 
    }).trigger("mouseout"); 
    }); 
    function scrollNews(obj){ 
    var $self = $(obj); 
    var $li=$self.find("li:first");
    var lineHeight = $li.height(); 
    $li.animate({ "margin-top" : -lineHeight +"px" },500 , function(){ 
     $li.css({"margin-top":"0px"}).appendTo($self); 
    }) 
    } 

</script>

 

奖励园豆:5
酸番茄 | 初学一级 |园豆:87 | 2015-06-26 14:08

说人话....

YaYou~ | 园豆:6 (初学一级) | 2015-06-26 14:13

@林Lin:代码贴上了,就是说,将第一个li设置负的外边距,使得其从我们视野中消失,然后设置为0,恢复正常的同时,挪到最后。

酸番茄 | 园豆:87 (初学一级) | 2015-06-26 14:17

@HasBug: ......我还是把图片改长点吧....

YaYou~ | 园豆:6 (初学一级) | 2015-06-26 14:20

@林Lin: 晕

酸番茄 | 园豆:87 (初学一级) | 2015-06-26 14:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册