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

时间:2018-10-13 04:15:22

标签: 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。

1 个答案:

答案 0 :(得分:1)

当您单击按钮时,它将调用您的函数并调用事件提交,并且页面将刷新。您需要添加到onclick返回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;?>