我在HEAD页面中有以下代码:
<script type="text/javascript">
$(document).ready(function(){
$(".open_popup_clips").colorbox({width:"520px",height:"480px", iframe:true});
});
</script>
因此,弹出窗口只有在页面完成加载后才能正确打开,然后再进行加载
将以常规方式打开浏览器窗口中的链接
是一种在页面完全加载之前弹出链接的方法。我尝试将这段代码放在BODY中,但这不起作用。
当然,最好的办法是加快加载过程,但现在就把它放在一边。
thanx任何重播并祝你有愉快的一天: - )
答案 0 :(得分:1)
这里有两个选择:
一,将您的JavaScript代码放在您身体的BOTTOM上,而不是document.ready
。这将比document.ready
绑定更快。
两,将您的JavaScript代码放在您正在调用colorbox
的元素下方。这有点混乱,但是在将元素添加到DOM之后会立即调用它并且是您最快的选择。
对于这类事情来说,这些是你唯一的选择,就像准备事件更快。
如果你想冒险进入scaryville,请查看:http://javascriptisawesome.blogspot.com/2011/07/faster-than-jquerydocumentready-wait.html说实话,我之前没有尝试过。
答案 1 :(得分:1)
Adam的回答通常是很好的建议,但它不会对当前版本的colorbox有所帮助,因为它在将标记添加到文档之前等待DOM加载。为了更快地运行它(比如,在你想要使用colorbox的元素之后立即运行),你将不得不对jquery.colorbox.js文件做一个小的编辑。像这样注释掉以下行:
// $(publicMethod.init);
然后在准备初始化colorbox时手动调用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>