刚刚从 SO 用户那里得到了关于这个问题的一些很棒的帮助:
jQuery on window scroll animate background image position
正如您在此处看到的,我想在用户滚动页面时逐渐滚动 div 背景图像。看到这个工作版本:
http://jsfiddle.net/nicklansdell/HFxVj/4/
给出的答案非常有效。然而,除了能够使用浏览器滚动条滚动页面外,我还想包含一些额外的功能,当单击 anchor 时,将页面滚动到 div 哈希位置。我正在使用 scrollTo 插件来实现这个效果,直到我包含以下 CSS:
body, html {
height: 100%;
min-height: 100%;
}
不幸的是,如果我包含这个页面 scrollTo 动画不起作用但包含它允许背景图像位置动画工作,它似乎是一个或另一个,但当然我需要两者:-)任何人都可以建议解决方法在这里?非常感谢。
编辑*
我已经缩小了我的问题范围。问题不在于 body,html 被设置为高度 100%。这取决于给#page div 一个物理高度。它要求背景图像滚动的高度为 100%,但不需要为 scrollTo 指定高度。请参阅我的 JSFiddle http://jsfiddle.net/nicklansdell/HFxVj/4/更新并尝试使用 #page 样式来了解我的意思。
最佳答案
您是否正在使用 $.scrollTo('selector-for-target-element', time);
进行滚动?对于这种语法,body 中的任何一个 HTML 都需要具有自动高度。我有类似的问题,我通过明确提及需要滚动的父 div 来解决。
$('parent-div-selector').scrollTo('selector-for-target-element', time);
instead of
$.scrollTo('selector-for-target-element', time);
它奏效了。
希望对您有所帮助。
关于jQuery scrollTo 不工作的 body ,html 设置 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5065355/