我使用Jquery上下滚动一个UL,这样您就可以看到所有的元素,如果是这样的话,我将如何做呢?
如果 FIRST LI项目在UL中位于顶部,则不要再滚动,而如果最后一项位于屏幕可见部分的底部,则不再向下滚动,否则滚动510 px。
现在,我的代码如下所示:
$('#down').click(function() {
$(".project_thumbs").stop().animate({"top": "-=510px"});
});
$('#up').click(function() {
if (".project_thumbs" (top = 0)){
$(".project_thumbs").stop().animate({top:0});
}
else{
$(".project_thumbs").stop().animate({"top": "+=510px"});
}
发布于 2010-09-29 01:59:27
Remy为jquery编写了一个插件,处理滚动,以及一个元素在视图中是否可见,您可以在这里找到它:http://remysharp.com/2009/01/26/element-in-view-event-plugin/
如果您还查看了该页面上的第一个注释,就会在jquery中添加一个选择器,以检查某个元素在viewport中是否可见(这对您可能比整个插件更有用),这样您就可以检查UL中的底部LI (您可以使用:last选择器获取)是否在视图端口中,然后您就会知道是否需要向下滚动。
希望这就是你要找的!
发布于 2010-09-30 21:10:02
你可以用一个面具来完成这个任务。将ul (位置:绝对)包含在div中(位置:相对,溢出:隐藏,高度:您需要什么)。然后,在触发运动时做一些计算,根据ul的高度确定是否/何时移动。(不用担心李自己,因为你可以用ul的块来处理定位问题。)
我在这里树立了一个例子:http://jsfiddle.net/4nqng/
基本上,这会检查ul的位置是否能够根据它当前相对于掩码的位置和它被要求移动的方向移动。
https://stackoverflow.com/questions/3810438
复制相似问题