Javascript在3秒后运行

时间:2016-02-11 19:23:26

标签: javascript html

我的项目中有一个可折叠的div,一旦用户点击它并展开,我需要将计算机向下滚动以便用户知道文本在那里。 div的扩展可以工作但是因为它试图自动扩展(在div扩展之前)并且因为这是页面的底部(在Div开放之前)它不会滚动。所以我想要做的就是在我的Javascript中加入3秒的延迟,所以在Div打开之前不会尝试这样做。我无法让它发挥作用。这是我目前的代码:

<script language="Javascript">


     function scrollRefund() {
         var divPosition = $('#refund').offset();

         setTimeout(function(){
             $('html, body').animate({ scrollTop: divPosition.top }, "slow");
         }, 1);
     }
</script>

<button type="button" class="btn-link" data-toggle="collapse" data-target="#refund" onclick="javascript: scrollRefund();">Refund Policy</button>

<div id="refund" class="collapse">

2 个答案:

答案 0 :(得分:4)

setTimeout的第二个参数以毫秒为单位。尝试3000而不是1。

<script language="Javascript">


     function scrollRefund() {
         var divPosition = $('#refund').offset();

         setTimeout(function(){
             $('html, body').animate({ scrollTop: divPosition.top }, "slow");
         }, 3000);
     }
</script>

<button type="button" class="btn-link" data-toggle="collapse" data-target="#refund" onclick="javascript: scrollRefund();">Refund Policy</button>

<div id="refund" class="collapse">

答案 1 :(得分:0)

尝试使用

setTimeout(function(){
             $('html, body').animate({ scrollTop: divPosition.top }, "slow");
         }, 3000);