停止基于load()运行javascript

时间:2017-09-07 15:26:25

标签: javascript php jquery html dom

我正在使用Jquery div函数用外部加载的PHP替换.load()的内容,我的问题是我想为php文件编写我的javascript代码并保存它在文件的底部。

所以基本上当我运行.load()函数时,我加载的文件的内部javascript也会运行。到目前为止,这很有用。我的问题是,当我再次运行.load()函数将不同的javascript加载到我的div中时,加载了上一个文件的javascript,继续运行。

我需要它来停止运行最后加载的php文件的javascript,并加载新的javascript。

例如,我有1个div和5个文件,每当我点击一个按钮,使用load()函数时,我将我选择的页面的php和javascript注入div。如果我的每个页面底部都有此代码

 setInterval(function(){
   console.log("hello");
 },1000)

我一次加载每个页面1,它存储javascript并在结果中运行控制台日志"你好"每秒5次。

我想要它做的是删除以前的javascript,并在每次选择新页面时加载新的。

我如何实现这一目标?

2 个答案:

答案 0 :(得分:3)

您需要将其存储到变量中,如果存在则将其删除。

if (window.myInterval) window.clearInterval(window.myInterval)
window.myInterval = setInterval(function(){
  console.log("hello");
}, 1000)

答案 1 :(得分:1)

最好使用

调用删除间隔
clearInterval();

方法,因为一旦你调用了

setInterval();

方法,它将继续执行它所说的功能,直到你离开页面或清除间隔。