1

我用了

<div id="myJSDiv"><script>...</script></div>
$("#myJSDiv").html('');

<script id="myJSDiv">...</script>
$("#myJSDiv").remove();

但没有删除任何内容。

JS脚本是

<script id="count_down">
        var ss = 150;
        function countdown() {
            ss = ss-1;
            if (ss<0) {
                window.location="google.com";
            }else {
                document.getElementById("countdown").innerHTML=ss;
                window.setTimeout("countdown()", 1000);
            }
        }
        </script>
4

1 回答 1

3

加载脚本后,删除它来自的脚本标记不会对该脚本定义或创建的函数或变量执行任何操作。

加载后无法删除这样的代码块。全局函数可以在加载后重新定义,但这就是你所能做的。也许,如果您描述了您要解决的整体问题,我们可以提出更好的方法。


现在您已将实际问题添加到您的问题中,要停止倒数计时器,您可以执行以下操作:

 <script id="count_down">
    var ss = 150;
    var countdownTimer;
    function countdown() {
        ss = ss-1;
        if (ss<0) {
            window.location="google.com";
        }else {
            document.getElementById("countdown").innerHTML=ss;
            countdownTimer = window.setTimeout(countdown, 1000);
        }
    }

    function stopCountdown() {
        clearTimeout(countdownTimer);
    }
    </script>

stopCountdown()当您想停止倒数计时器时,只需调用该函数。

于 2013-03-17T16:36:05.993 回答