首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery pre文档就绪事件

jQuery pre文档就绪事件
EN

Stack Overflow用户
提问于 2010-05-20 09:01:27
回答 3查看 4.4K关注 0票数 1

我有一个179个缩略图的列表,我正在尝试将jQuery lightbox工具应用到一个无序的超链接列表中。

我的问题是,在图像下载完成之前,jQuery是不会启动的,每个图像本身大约是23K,不是很大,但作为一个整体,这相当于大约4MB。

在IE (客户端使用的主浏览器)上,在页面完全下载每个缩略图之前有5秒的延迟,然后允许jQuery触发。

我已经尝试在不同的地方放置jQuery文档就绪事件,但没有成功,并且只能通过设置ul上的css来隐藏在应用lightbox之后应用.show()之前使用display:none

我希望有一种方法可以在所有内容都下载之前启动jQuery脚本?

干杯

更新:我现在的代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
    $("li.eventPhoto a").lightBox();
});

但这并不适用于IE,直到所有的图像都已加载。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-20 09:05:39

$(document).ready()将在DOM完成加载后立即执行(即,在所有图像完成下载之前,但页面的所有html都已完成加载)。例如。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function(){
    // do someting as soon as the document is ready, 
    // possibly before the images are loaded
}) ;

如果您想要在所有图像都加载完成后执行某些操作,则需要使用onload事件,如下所示...

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(window).bind('load', function() {
    // Do something when the images have finished loading
});

如果你想要一个脚本现在就执行,当它出现在html文档中的时候,那么不要使用任何“就绪”函数。就这么做吧然后就会有..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script>
    // code that you want to execute as soon as the browsers finds this bit of your doc.
    // note that you won't be able to access the DOM as it may not all be present
</script>
票数 5
EN

Stack Overflow用户

发布于 2010-05-20 09:08:04

我会尝试lazyload-plugin,这样页面就可以完全加载,并在所有图像加载之前触发$(document).ready(),然后您就可以下载所有图像了。

票数 4
EN

Stack Overflow用户

发布于 2010-05-20 09:17:34

正如rikh和Jens所提到的,您可以在加载缩略图之前使用ready()事件来触发代码。但是,您提到了IE,这意味着您可能已经在使用此事件,但在浏览器中失败(它可能,因为IE6/7并没有真正的事件,而jQuery要么尝试通过其他方法检测它,要么使用load,我不知道)。

如果是这种情况,请忘记$(document).load()/$(document).ready()事件,并在呈现最后一个链接之后在html中插入代码。

类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <ul>
    (...) // List of thumbnails and links
 </ul>

 <script type="text/javascript">
    // Attach lightbox to links
 </script>

这样,浏览器就会像创建HTML链接一样附加与lightbox相关的事件,而不必等待dom/html加载后才开始工作。需要记住的重要一点是,在HTML中,在标记之前,必须呈现脚本所需的所有标记和元素,并且必须引用必要的js库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2872281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文