如何在导航/重新加载到其他页面时停止jquery功能?

时间:2015-07-02 23:07:47

标签: javascript jquery ajax ruby-on-rails-4

我已使用以下jquery函数定期在Ajax视图中提出rails请求

<script>
$(function() {
    setInterval(function(){ $.get("/simulations/<%= @simulation.id %>"); }, 5000);
});

此功能完美无缺。但是当我通过点击后退按钮导航到其他页面时,它仍在运行(通过检查chrome developer console确认)

如果我重新加载页面,它就会停止。导航到其他页面时如何停止?

编辑-1

建议后

<script>
$(function() {
   var interval =  setInterval(function(){ $.get("/simulations/<%= @simulation.id %>"); }, 5000);

    clearInterval(interval);
});

1 个答案:

答案 0 :(得分:1)

setInterval是一个标准的javascript函数,它返回一个数字,表示可以传递给clearInterval的间隔id。

<script>
$(function() {
    var interval = setInterval(function(){ $.get("/simulations/<%= @simulation.id %>"); }, 5000);

    // elsewhere ...

    clearInterval(interval);
});