javascript - 当按钮单击事件触发时,滚动条移动到顶部。我想在特定位置停止滚动条移动

标签 javascript jquery

实际上,我通过单击按钮来显示数据库表中的数据。我有多个按钮和多个表格。我想根据按钮单击将滚动条移动到特定的 div。每次当我单击任何按钮时滚动条都会移动到顶部。 这是我用来在特定位置移动滚动条的代码。

<input type="submit"  name="search"  id ="search" onclick="myFunctionq();" value="Display" /> 
<script>
function myFunctionq(){
    var divLoc = $('#div1').offset();
    $('html, body').animate({scrollTop: divLoc.top},"slow");
    };
</script>

这对我不起作用。

如果我在 $(document).ready(function()) 中编写相同的代码,它就会工作并且每次滚动条都会移动。

<script type="text/javascript">
   $(document).ready(function(){
       var divLoc = $('#div1').offset();
       $('html, body').animate({scrollTop: divLoc.top}, "slow");

  });
</script>

我想根据按钮单击事件将滚动位置移动到 div。

最佳答案

当您单击按钮时,它会调用您的函数并调用事件提交,并且您的页面会刷新。您需要添加 onclick return false 或 e.preventDefault,以禁用默认事件

<input type="submit"  name="search"  id ="search" onclick="return myFunctionq();" value="Display" /> 
<script>
function myFunctionq(){
    var divLoc = $('#div1').offset();
    $('html, body').animate({scrollTop: divLoc.top},"slow");
    return false
    };
</script>
<?php if isset($_POST['search']):?> <script>myFunctionq()</script> <?php endif;?> 

关于javascript - 当按钮单击事件触发时,滚动条移动到顶部。我想在特定位置停止滚动条移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52789470/

相关文章:

javascript - 映射中的 Object.assign 返回带有额外信息的意外响应

javascript - Jquery 验证插件规则方法不起作用

javascript - 如何在没有 ID 和 Class 的情况下检查 Span 内的文本

javascript - 确定我的应用程序正在使用哪个控件

javascript - 停止 Vimeo 嵌入 Jquery Infinite Carousel 中的上一个/下一个按钮

javascript - 如何在 jQuery 中获取浏览器滚动位置?

javascript - 如何使用 Javascript 或 JQuery 按分数、性别和姓名对排名进行排序

javascript - hasClass 在我的 js 代码中不起作用?

javascript - 为什么我无法切换 for 语句中每个元素(组内)的可见性,而只能切换组中的最后一个元素?

jquery - 拖放事件触发两次