jQuery:防止列表滚动?

时间:2010-06-03 01:16:12

标签: javascript jquery

我有这样的场景:使用ajax查询我获取一些数据项并将它们作为ul元素推送到li元素。我使用$("ulele").append(new_li_item)。每当检测到事件时,我都会使用以下内容为此ul元素编写自己的自定义滚动:

$("ulele").animate({scrollTop: '+=' + 200}, 'slow');

问题是当我触发该事件并且列表由于上面的animate函数滚动时,我想保持它稳定至少几秒钟。当它向下滚动时,元素仍然被推动,因此列表无论如何都会滚动。我使用以下方法添加li元素(已经具有display:none属性):

$("#liele").delay(6000 * i).show("slow")

有没有办法可以暂停这种情况而不会真正停止将元素推入ul列表的活动?

2 个答案:

答案 0 :(得分:0)

也许试试.delay()?

http://api.jquery.com/delay/

这样的事情:

$(“ulele”)。animate({scrollTop:'+ ='+ 200},'slow')。延迟(1000);

答案 1 :(得分:0)

尝试将动画放入函数中,然后在向ulele添加元素之前,删除动画,并在获取数据后再次添加动画。这是一种方法,但从它的外观来看,它听起来操作密集。

以下应该可以更好地工作 - 当您创建新的 li 元素时,使用 display:none 启动它,并在使用AJAX调用获取它之后,更新显示属性以内联或您需要它。这应该比上面的更好。