单击链接时停止运行javascript

时间:2012-08-31 13:51:04

标签: javascript html

我想知道是否可以在点击链接时停止在页面上运行javascript。我遇到的问题是页面刷新每30秒(一个列表需要在网站上更新)但是如果用户点击列表中的链接并且在完成加载之前30秒刷新开始,它会停止从开头链接,而不是刷新页面。

这是正在运行的脚本,

        <script type="text/javascript">
        window.name = "NewRegistration";
        setTimeout("location.reload(true);",30000);
    </script>

该链接指向该网站上的另一个页面。

如果有什么不清楚,请询问。

谢谢,

杰克。

3 个答案:

答案 0 :(得分:6)

<script type="text/javascript">
  var id;

  function stopRefresh()
  {
    window.clearTimeout(id);
  }

  window.name = "NewRegistration";
  id = window.setTimeout("location.reload(true);",30000);
</script>

<a href="somelike.html" onclick="stopRefresh();">Some Link</a>

如果您正在使用jQuery,则可以更轻松地应用于页面上的所有链接:

<script type="text/javascript">
  $(document).ready(function() {
    $('a').click(function() {
      stopRefresh();
    });
  });
</script>

答案 1 :(得分:1)

您不必停止页面上的所有JavaScript。

您必须处理刷新页面功能。例如,您可以在单击链接时将标志设置为false。

30秒后 if(flag == false)不刷新页面 其他 刷新页面

这就是全部:)

答案 2 :(得分:0)

这些天最常见的做法是在后台更新而不重新加载整个页面,尽管设置起来还有一些工作要做。阅读Ajax以了解更多信息。

一个更容易实现的解决方案是......好吧,Sean Bright已经打败了我,直到现在我看到了;)