将$(document).ready()函数转换为window.onload函数?

时间:2018-03-27 10:53:39

标签: javascript jquery

我有一个jQuery函数:

$(document).ready(function() {
  setInterval(function() {
    $.post("../user/getdashboard/", function(data) {
        $("#users_available").html(data);
    });
  }, 3000);
}

我必须将其转换为window.onload函数。

怎么做?

2 个答案:

答案 0 :(得分:2)

如果你想要它是vanilla js,请使用onload对象的window回调:

window.onload = function() {
  setInterval(function() {
    $.post("../user/getdashboard/", function(data) {
        $("#users_available" ).html(data);
    });
  }, 3000);
}

但您甚至可以将load事件与jQuery一起使用,基本相同:

$(window).on('load', function() {
  setInterval(function() {
    $.post("../user/getdashboard/", function(data) {
        $("#users_available").html(data);
    });
  }, 3000);
});

但请记住,jQuery ready statewindow.onload不同。这是两件不同的事情。因此,这可能会对您的项目/页面产生意外影响。

答案 1 :(得分:-1)

您可以处理readystatechange事件

document.onreadystatechange = function () {
    if (document.readyState === "interactive") {
        // Your code
    }
}

window.onload等待包括图像在内的所有内容,这些内容可能过度。