停止函数表单runnning Javascript(重复自己的函数)

时间:2017-06-02 15:38:19

标签: javascript jquery

之前已经提出过这个问题,但这些解决方案都没有对我有用。 我的情况就是这样,我有一些随机改变div颜色的javascript,并不断重复。  这会导致移动设备出现大量延迟,因此在移动设备上时,我希望该功能不会运行并被CSS动画替换。

今天我对停止运行部分功能感兴趣。以下是我的代码,但它不起作用。有什么帮助吗?

<script id="PC-Code">
// complicated function, ending with this:
all2 = colorizeAll2( tris2, 750, 2000 );
all2();
</script>

<script>
    if (
  /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    navigator.userAgent
  )
) {
  $("#PC-Code").remove();
}
</script>

为什么这不会停止javascript?我怎么能停止javascript?

3 个答案:

答案 0 :(得分:1)

如果您重新构建代码,只有在不移动时才会调用all2(),该怎么办?

// remove all2(); from PC-code script

if (!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    navigator.userAgent))
){
    all2();
}

答案 1 :(得分:0)

只需在PC-Code脚本中执行您的逻辑,并在条件满足时调用throw new Error以阻止其执行,例如:

if (
  /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    navigator.userAgent
){
    throw new Error('This script had to stop!')
}

你能告诉我这是不是有效?

答案 2 :(得分:-1)

如果userAgent是移动的,也许你可以将你的var重新定义为null吗?

<script id="PC-Code">
// complicated function, ending with this:
all2 = colorizeAll2( tris2, 750, 2000 );
all2();
</script>

<script>
    if (
  /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    navigator.userAgent
  )
) {
  all2 = null;
}
</script>