1

我在页面 HEAD 中有以下代码:

    <script  type="text/javascript">        
$(document).ready(function(){
    $(".open_popup_clips").colorbox({width:"520px",height:"480px", iframe:true});       
});
</script>  

因此,只有在页面加载完成后才会正确打开弹出窗口,然后
才会以常规方式在浏览器窗口中打开链接。
是一种在页面完全加载之前在弹出窗口中打开链接的方法。我尝试将这段代码放在 BODY 中,但没有奏效。
当然,最好的办法是加快加载过程,但现在让我们把它放在一边。

感谢任何重播,祝你有美好的一天:-)

4

2 回答 2

1

这里有两个选项:

一,将你的 JavaScript 代码放在你身体的底部,没有document.ready. 这将比document.ready绑定更快。

第二,将您的 JavaScript 代码放在您正在调用的元素的正下方colorbox。这有点混乱,但会在元素添加到 DOM 后立即调用,这是您最快的选择。

这些几乎是你唯一的选择,只要比 ready 事件更快地完成这类事情。

如果您想冒险进入可怕的地方,请查看:http://javascriptisawesome.blogspot.com/2011/07/faster-than-jquerydocumentready-wait.html老实说 ,我以前没有尝试过。

于 2011-08-15T13:11:30.810 回答
1

Adam 的回答通常是很好的建议,但它对当前版本的 colorbox 没有帮助,因为它会等待 DOM 加载,然后再将其标记添加到您的文档中。要更快地运行它(例如,在要使用 colorbox 的元素之后立即运行),您必须对 jquery.colorbox.js 文件进行小编辑。像这样注释掉以下行:

// $(publicMethod.init);

然后在准备好初始化彩盒时手动调用 init()。例子:

<a href='1.jpg' class='example'>1</a>
<a href='2.jpg' class='example'>2</a>
<a href='3.jpg' class='example'>3</a>
<script>
  $.colorbox.init();
  $('a.example').colorbox();
</script>
于 2011-08-16T22:24:15.187 回答