我知道有几次这样的变化; 我已经浏览了一段时间,但要么我做错了,要么我找不到我需要的东西.
我有一个嵌套注释的结构,几乎和Facebook Comments插件一样,每当reply点击时,一个带有textarea的小表单和一个按钮出现在注释的底部.
同样,行为与Facebook Comments插件相同,我想在滚动新添加textarea到视图时实现相同的功能.
我已经尝试了scrollTo插件,它运行顺畅但是,即使我手动滚动到页面的最底部,滚动动画也将始终重置滚动位置并从顶部开始.
为了记录,这就是我调用scrollTo的方式:
$.scrollTo($('#addReply_1'), 800);
Run Code Online (Sandbox Code Playgroud)
其中addReply_1在div包含表单.我已经大步滚动到表单本身和表单textarea.结果相同.
有没有办法滚动到元素只有它尚未可见?
我已经尝试过在SO上提供的许多解决方案,比如使用jQuery滚动到一个元素,但似乎都没有按照需要行事; 甚至滚动到具有jQuery的特定元素或在滚动后检查元素是否可见显示相同的"跳跃"行为.
更新:在线演示以显示行为
我上传了一个html演示页面,显示了我抱怨的行为:http://www.wouldbebetter.com/demo/comment-demo.htm
只需滚动到页面底部,然后单击任何Reply链接即可查看我所指的"跳跃"滚动.
请注意,此演示使用scrollintoview@Robert Koritnik的答案插件,但如果我使用ScrollTo,行为也是一样的.
我有以下HTML结构('ul li'呈现为下拉/选择)
<input id="input_city" type="text" />
<div class="suggestions">
<ul>
<li value="0" name="New York">New York</li>
<li value="1" name="London">London</li>
<li value="2" name="Paris">Paris</li>
<li value="3" name="Sydney">Sydney</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
需要JavaScript/jQuery代码来捕获向下箭头键按下事件(在输入上),它将选择第一个'li'元素
连续向下键选择下一个'li'元素; 和向上键选择以前的'li'元素.