问题标签 [document-ready]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
390 浏览

jquery - $(doucment).ready(function(){}); 和 $(window).load(function() {}); 混乱

我在http://www.marioplanet.com/product.htm上的测试产品页面有一些奇怪的行为,我真的可以使用一些帮助来解决。

现在,我之前在调整图像大小时遇到​​了问题,这里有人帮我说我应该将图像调整大小嵌套在

为了在调整大小发生之前加载图像,以便调整大小不会找到不正确的宽度和高度,因为它还没有加载,而不是将其嵌套在文档就绪函数中。

现在我已经这样做了,我想知道我应该如何处理嵌套在我的文档就绪函数中的 jQuery,因为它是 fancybox jQuery 插件,但它似乎无法正常运行。

如果我将fancybox jQuery 从准备好的文档移动到窗口加载功能,由于某种原因,它都不起作用!

我真的可以在这里使用一些帮助,因此非常感谢任何信息或建议!

谢谢!

更新:

顺便说一句,最好弄清楚如何使图像根本不加载,并且在将按比例缩小的效果应用到图像后才加载,这样图像就不会显得很大然后就出来了无处可去,缩小。

0 投票
3 回答
1289 浏览

jquery - HTML 页面中多个 $(document).ready() 的副作用(如果有的话)是什么?

我正在使用一个遵循 MVC 模式的 Web 应用程序框架(Symfony 1.3.6)。

视图层由模板装饰器组成。模板文件还可能包含其他模板 - 这就是我提出问题的原因。

假设有一个页面(我们称之为“主页”),它由几个模板组成 - (代码已被重构,因此“子模板”可以在其他页面上使用。

作为重构的结果,主模板使用的小模板(在我们的示例中为“主页”)需要包含与 jQuery 相关的代码。

假设主页模板使用 2 '子模板:

  • 模板 A
  • 模板 B

假设模板 A 包含以下代码段:

假设模板 B 包含以下代码段:

现在模板“主页”看起来像这样:

我已经尝试过了——令我惊讶的是,它的工作原理是在合并的最后一页('主页)中只有一个 $(document).ready()。

我不确定我的浏览器 (Firefox) 或 Web 框架 (Symfony) 是否在幕后进行了一些“清理”。

所以我的问题是,如果您想将 jQuery 功能重构为“可重复使用的小模板”,以便在不同页面中提供相同的功能,那么最好的方法是什么?

顺便说一句,我希望没有人建议编写一个 jQuery 插件,因为那不是我在说的。

0 投票
3 回答
2831 浏览

jquery - 我的 jQuery 就绪函数启动得太早了……它还没有准备好!

我正在向作为复杂页面一部分的几个 div 标签添加可调整大小。但是 $(document).ready() 如果执行得太早。并非所有内容都已解析并且可调整大小失败。

如何让 jQuery 真正等到文档准备好?

我试过了...

通过添加一个与这些代码相同的临时按钮,我在呈现页面后单击该按钮,我得到了适当的可调整大小的 UI。

我将 jQuery v1.4.2 和 jQuery UI v1.8.4 与 Firefox v3.6.8 一起使用。

0 投票
1 回答
1225 浏览

jquery - 在继续之前验证所有图像是否已加载到 `$(window).load()` 函数中

我正在向页面添加大量用于幻灯片放映的大图像,但我只想在页面的正常部分(包括图像)完全加载后才开始加载这些图像。

为此,我在$(window).load()函数中添加图像:

幻灯片slideSwitch()应该在所有图像完全加载后开始,但就像现在一样,它从元素添加到 DOM 的那一刻开始。

我不能将循环移动到document.ready函数,因为我不希望幻灯片干扰正常图像的加载。

在设置间隔之前如何检查是否所有图像都已加载?

0 投票
1 回答
2595 浏览

jquery - jquery:取消绑定加载的函数

我有一个功能可以在页面加载时调整图像背景的大小,

当我点击一个按钮时,我想“卸载”或“删除”这个加载的函数,这样我就可以重新加载这个函数,而不是把它加载到页面顶部,

但我不能让它工作!请问有什么想法吗?

谢谢,刘

0 投票
2 回答
200 浏览

javascript - Internet Explorer 中的 Javascript:加载/注册变量后如何做某事

我正在使用一些 jQuery,它在除 Internet Explorer 8 之外的所有浏览器中都能正常工作(可能不是早期版本,尽管我并不担心这些。)。我正在使用 jQuery 的 .each 函数循环遍历 JavaScript 数组中的每个元素,该数组是由我正在使用的相当不灵活的 CMS 在我的页面上自动生成的。

例如,我的 CMS 用 javascript 将这个图像对象数组写入我的页面:

然后我使用 jQuery 每个函数来循环这个数组,并在一个漂亮的小无序列表中返回所有图像。

问题是在使用 jquery 的时候

在 FF/Safari/Chrome 等中运行良好,实际上能够立即呈现我的无序列表,Internet Explorer 似乎在注册 JavaScript 中存在“路径”数组之前运行了我的 document.ready 函数(即使这个 jQuery包含在图像数组的代码之后)。我知道这一点,因为我在 IE 中抛出了“路径为空/未定义”错误。

当我把它从

我的代码在 IE 中正常工作,因为它只在整个页面加载后才执行我的 jquery 'each' 函数(这很糟糕,因为它减慢了渲染时间并导致我正在尝试做的事情出现“滞后”......但是,嘿,如果它有效)。然而,如果网站已被缓存,IE 有时在使用 $(window).load 注册名为“paths”的数组之前仍然会触发我的每个函数。

有谁知道确保路径变量立即由 IE 注册的可靠方法,这样我的每个函数都不会失败?

0 投票
3 回答
28163 浏览

jquery - jQuery 的 ready() 方法的快捷方式

我已经看到了 ready() 方法的一些快捷方式,并且想知道实际上哪个先发生,因为我的测试结果让我感到困惑..

这里自调用首先发生,然后是文档,然后是窗口。自调用技术是否被视为ready()方法?

0 投票
0 回答
15620 浏览

jquery - 在什么情况下 $(document).ready 在后退按钮单击时触发?

我正在使用一些使用 JQuery 的 $(document).ready 功能来设置 jqGrid 实例的代码。即使通过后退按钮单击返回页面,似乎也会触发代码。

在精简的测试页面中,当通过后退按钮单击到达时,不会调用类似的准备函数:

你能告诉我在哪里寻找导致这种行为差异的原因吗?

我在对这个问题的回答中找到了一些相关信息,但是具有过度活动就绪事件的页面没有为卸载注册的事件处理程序。

0 投票
1 回答
2080 浏览

javascript - 如何在外部 js 中移动像“ddaccordion.init”这样的 jquery 脚本?

嗨,我试图将我所有的 js 放在外部 js 文件中,因为我的网站的标题更轻。

所以在我的标题中我有这个脚本,效果很好:

但是当我尝试在这个外部 js 中移动这个脚本时,就像里面一样:

它不再启动。我找不到从外部 js 文件启动它的方法?

这一定是真正的新手问题:) 但我对 jquery 真的很陌生。谢谢您的帮助。

0 投票
2 回答
256 浏览

javascript - jquery选择器问题

我有一个 div,它在 jquery 的文档中准备好我附加 - 使用$("#div id").append('html text')语法 - 有 10 个左右的 div 子元素。

完成此操作后,我尝试通过以下方式检查子 div 的内容,alert($(".classname"));然后返回:

我本来希望它会用子 div 的 html 内容而不是 javascript 发出警报?

完整脚本:

更新:这里肯定会发生某种 jquery/javascript 竞争条件,如果我用setTimeout(function(){alert($(".unseen").html());},1000);它替换警报会返回预期的文本。如果我将超时暂停更改为 1 毫秒,它会null再次返回。

除了坚持延迟之外,不确定是否有“真正的”解决方法?