2011-11-15 91 views
1

我试图解决issue我有,并决定尝试​​jQuery函数的事件处理程序。我不确定我做错了什么。在jQuery page的例子是:.load事件处理程序不工作

$('#book').load(function() { 
// Handler for .load() called. 
}); 

我的脚本是:

var $j = jQuery.noConflict(); 
$j('#gallery-nav-instruct').load(function() { 
    if(!$j.cookie('gallerycookie')){ 
    $j.colorbox({ inline:true, href:"#gallery-nav-instruct"}); 
    $j.cookie("gallerycookie", 1, {expires: 30, path: '/'}); 
    } 
}); 

为什么我的脚本不能正常工作?

下面是有关该脚本的HTML:

<div style="display:none"> 
    <div id="gallery-nav-instruct"> 
    <h2>Gallery Navigation Instructions - Step 1</h2> 
    <h2 style="text-align:right"> 
     <a style="text-align:right;" class="inline cw" href="#gallery-enlarge-instruct">Step 2</a> 
    </h2> 
    <p>&nbsp;</p> 
    <p class="white"> 
     <img src="/Images/Pages/gallery-navigation.jpg" width="890" height="450" alt="Gallery Navigation Instructions" /> 
    </p> 
    </div> 
</div> 

回答

1

你有确认股利尚未通过的情况下,势必时加载的一种方式?换句话说,这可能是一个计时问题。加载完成,事件被绑定,但事件永远不会被触发,因为加载已经完成。

我想知道你想解决的问题;而不是解决.load()本身的问题(尽管这可能最终会成为工具!),最好留出空间进行横向思考。例如,我不明白你为什么不能在文档准备就绪的情况下做你的cookie检查和colorbox初始化。可能是图像尚未加载,但我认为这不会破坏用户体验。

+0

我将发挥与它周围,看看我得到为我的问题,检查这个问题了 - http://stackoverflow.com/questions/8116191/colorbox-not-loading-properly即在 - 我已经尝试过文档准备好了...... – L84

0

尝试将您的脚本放在页面的末尾。这可能会起作用。只有当所有的内容都被加载为.load()事件时,才会执行它,当父内部的所有内容都被完全加载时。

This应该帮助你

+0

当我将脚本从“”中移出时,它在IE中由于某种原因完全打破了页面。 – L84

+0

请看我编辑的帖子 – Rohan

+0

该链接将如何帮助?我了解基本语法,并且还有其他一些问题,为什么整个页面都会打破,但语法不错。或者我错过了什么?谢谢 – L84