我想在点击提交按钮后平滑滚动到名为“结果”的部分。但我得到的结果只是正常滚动,而不是平滑滚动。
下面是一段HTML代码:
<form action="index.php#result" method="post">
<div id="search-box">
<?php include 'submitt.php'; ?>
<input type="text" name="city" placeholder="Enter city name">
<input type="submit" name="SubmitButton" id="SubmitButton">
</div>
</form>
下面是结果部分代码:
<section id="result" class="container content-section text-center">
<div class="col-md-8 col-md-offset-2">
<p class="intro-text">Text.</p>
<?php include 'q.php'; ?>
</div>
</section>
JavaScript中的以下集合:
$("#SubmitButton").submit( function() {
$('html, body').animate({
scrollTop: $("#result").offset().top
}, 2000);
return false;
});
你能帮助我在点击提交按钮后如何获得平滑的滚动效果吗?我在那里使用了Bootstrap框架。非常感谢。
5条答案
按热度按时间p5fdfcr11#
请参见此示例http://jsfiddle.net/kevalbhatt18/8tLdq/2129/
我更新了你的小提琴
``
`
`
``
ifsvaxew2#
您可以使用平滑滚动插件:https://github.com/kswedberg/jquery-smooth-scroll
yws3nbqq3#
试试这个
w1e3prcc4#
Chris Coyier从来没有让我失望过。这是他的解决方案。我再强调一次,这不是我的解决方案,它属于一个传奇。点击上面他的名字来查看起源。
在我看来,这是一个更好的解决办法。
q7solyqu5#
我想我已经找到了最简单的方法,这里的问题是,提交页面刷新后,由于刷新是在浏览器端,所以不建议干扰浏览器的动作。
根据经验,我找到了元素的位置,如div、table等。在我的例子中,1000px是合适的,我使用了这个,工作得很好: