【发布时间】:2010-02-27 02:28:22
【问题描述】:
我在一个 div 中有 20 个列表项,一次只能显示 5 个。滚动到项目#10,然后是项目#20 的好方法是什么?我知道所有物品的高度。
scrollTo 插件可以做到这一点,但如果不真正深入了解它的源代码,就不太容易理解。 我不想使用这个插件。
假设我有一个函数需要 2 个元素 $parentDiv、$innerListItem、$innerListItem.offset().top 和 $innerListItem.positon().top 都没有为 $parentDiv 提供正确的 scrollTop。
【问题讨论】:
-
由于您的更新而删除了我的答案。但相信我,之前也有过同样的态度,有很多浏览器的位置和边距等问题......插件是一条更简单的路线,耗时更少,而且只有 3k before GZip .
-
无论如何都要使用 scrollTo 插件。这并不难。
$("#container").scrollTo(target, duration, options)。目标只是一个#anchor。完成。 -
似乎应该有知识可以在没有插件的情况下做到这一点。明天生病开始阅读源代码
-
@mkoryak - 知识就在那里,但是当你考虑到浏览器的怪癖时,你基本上会得到...... .scrollTo 插件,所以为什么要重新 -一直在发明轮子?
-
恕我直言,您最终可能会从 .scrollTo today 中获得所需的确切子集。但是几个月后,虽然 .scrollTo 已经更新到 IE9、FF4 和 Chrome 6,你将不得不重新开始...... 3k 似乎是一个非常低的价格来避免这种情况。跨度>
标签: jquery