【问题标题】:scrollTop only scrolls downscrollTop 只向下滚动
【发布时间】:2011-07-16 18:24:55
【问题描述】:

我试图让一个 div 滚动到它的顶部,但由于某种原因它不起作用。

此代码有效,并在我的包装器内滚动到 div 的底部:

$('#wrapper').animate({ scrollTop: $("#innerbox").height() }, 5000);

如果我使用 Ariel Flesler 的 jQuery.ScrollTo 插件,这段代码就可以工作:

$('div#wrapper').scrollTo( '+=100px', 8000 );

但如果我尝试将第一个代码设置为元素的 .offset().top 或将第二个代码设置为 '-=100px' 而不是 '+=100px' 它不起作用,什么都不做......

这可能是什么原因造成的?

[更新:我现在似乎更好地使用代码,但仍然没有运气让它在我的 JQtouch 应用程序中工作,so I've posted relevant code here]

【问题讨论】:

  • 注意:我在一个非常复杂的环境中使用它(带有这种标签栏的 JQtouch 应用程序:groups.google.com/group/jqtouch/msg/3a80fa286b213234),但是由于没有很多人以同样的方式使用它,我认为如果我只是了解可能导致问题的原因,则更有可能解决这个问题
  • “更好”与什么相比?提供一个演示问题的实际测试用例?天堂禁止。
  • 提供一个测试用例需要很多时间,如果我缺少一些基本的东西(我希望是这样),那就没有必要了。当然,我不能发布我的应用程序的整个源代码,但如果需要,我会花时间创建一个测试用例....谢谢:)
  • @Tomalak 我们不可能都像你一样伟大! :)
  • @Adam:如果您希望我们花时间为您解决问题,我们希望您花时间进行一些基本的调试并首先将您的问题缩小到一个测试用例。这只是礼貌。 (通常它会帮助您在求助于他人之前自行发现问题!)“[您的] 应用程序的整个源代码”绝对不是我们希望看到的在这里。

标签: jquery scrollto scrolltop


【解决方案1】:

scrollTop 所做的是将滚动条设置为提供的偏移量。 scrollTop(0) 或 scrollTop: 0 将元素设置到最开始。 Jquery Scroll Top

这是一个有效的 JSFiddle。一件重要的事情是首先将区域设置为 scrollTop(0)。另一个是意识到该元素的定义高度为 200,即使内部框中还有很多文本,所以我滚动到 1000 以确保我到达底部。

它可能不是你想要的,但它应该让你了解如何使用 scrollTop。

http://jsfiddle.net/v98HE/

【讨论】:

  • OP 在哪里做.scrollTop(0)
  • 我已将 Fiddle 更新为我正在尝试做的事情(将 (0) 更改为 (1000),将 (1000) 更改为 (-1000),但出于某种原因在我的应用程序中,你所做的工作,而我所做的却没有,即使它们都在小提琴中工作......我试图找出可能是什么原因。
  • @adam tal - 如果您发布您创建的新小提琴,我会看看。
  • @Tomalak 从技术上讲,Adam 正在使用 css scrollTop,但在这种情况下它的工作方式与 jquery 的 scrollTop() 大致相同。 Adam 遇到的最大问题是他试图在 div 的高度启动 scrollTop,这只会有效地将滚动设置到 div 的底部。我不是故意混淆,但我认为它确实帮助了亚当。
  • 我认为您可以在此答案中添加更多解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多