我正在使用以下代码向网页中动态添加元素。它可以工作,但是会冻结页面。谁能解释为什么会这样?

 <script>
            $(function() {
                var ruler = $("#ruler").height();
                var body = $("body").height();
                while (ruler <= body) {
                    $("#rulerStart").append("<div class='lineLarge'></div><div class='lineSmall'></div>");
                };
            });
        </script>

最佳答案

var ruler = $("#ruler").height();
var body = $("body").height();


这些值是静态的。设置后,请始终设置。

您需要在循环中重置它们:

$(function() {
    var ruler = $("#ruler").height();
    var body = $("body").height();
    while (ruler <= body) {
        $("#rulerStart").append("<div class='lineLarge'></div><div class='lineSmall'></div>");
        ruler = $("#ruler").height();
        body = $("body").height();
    };
});

关于javascript - JS错误-无响应脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28048755/

10-10 07:02