gpt4 book ai didi

jquery - 要求 jQuery 在执行某事之前等待所有图像加载的官方方式

转载 作者:IT王子 更新时间:2023-10-29 03:23:23 24 4
gpt4 key购买 nike

在 jQuery 中执行此操作时:

$(function() {
alert("DOM is loaded, but images not necessarily all loaded");
});

它等待 DOM 加载并执行您的代码。如果未加载所有图像,则它仍会执行代码。如果我们正在初始化任何 DOM 内容(例如显示或隐藏元素或附加事件),这显然是我们想要的。

假设我想要一些动画并且我不希望它在加载所有图像之前运行。 jQuery 中是否有官方方法来执行此操作?

我最好的方法是使用 <body onload="finished()"> ,但除非迫不得已,否则我真的不想这样做。

注意:有一个bug in jQuery 1.3.1在 Internet Explorer 中,它实际上会在执行内部代码之前等待所有图像加载 $function() { } .因此,如果您正在使用该平台,您将获得我正在寻找的行为,而不是上述的正确行为。

最佳答案

使用 jQuery,您可以使用 $(document).ready() 在加载 DOM$(window).on("load", handler) 在加载所有其他内容(例如图像)时执行某些操作。

如果您有很多 jollyrogerNN JPEG 文件(或其他合适的文件),可以在下面完整的 HTML 文件中看出区别:

<html>
    <head>
        <script src="jquery-1.7.1.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                alert ("done");
            });
        </script>
    </head><body>
        Hello
        <img src="jollyroger00.jpg">
        <img src="jollyroger01.jpg">
        // : 100 copies of this in total
        <img src="jollyroger99.jpg">
    </body>
</html>

有了它,警告框会在图像加载之前出现,因为此时 DOM 已准备就绪。如果您随后更改:

$(document).ready(function() {

进入:

$(window).on("load", function() {

然后警告框不会出现,直到图像加载完成。

因此,要等到整个页面准备就绪,您可以使用如下内容:

$(window).on("load", function() {
// weave your magic here.
});

关于jquery - 要求 jQuery 在执行某事之前等待所有图像加载的官方方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com