我有这个input元素:
input
<input type="text" class="textfield" value="" id="subject" name="subject">
然后我有一些其他元素,比如其他文本输入、文本区域等。
当用户点击它input时#subject,页面应该滚动到页面的最后一个元素,并带有漂亮的动画。它应该是滚动到底部而不是顶部。
#subject
页面的最后一项是一个submit按钮#submit:
submit
#submit
<input type="submit" class="submit" id="submit" name="submit" value="Ok, Done.">
动画不应该太快,应该是流畅的。
我正在运行最新的 jQuery 版本。我宁愿不安装任何插件,而是使用默认的 jQuery 功能来实现这一点。
假设您有一个带有 id 的按钮button,请尝试以下示例:
button
$("#button").click(function() { $([document.documentElement, document.body]).animate({ scrollTop: $("#elementtoScrollToID").offset().top }, 2000); });
我从文章Smoothly scroll to an element without a jQuery plugin中得到了代码。我已经在下面的示例中对其进行了测试。
<html> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script> $(document).ready(function (){ $("#click").click(function (){ $('html, body').animate({ scrollTop: $("#div1").offset().top }, 2000); }); }); </script> <div id="div1" style="height: 1000px; width 100px"> Test </div> <br/> <div id="div2" style="height: 1000px; width 100px"> Test 2 </div> <button id="click">Click me</button> </html>