我有一个colorbox.js文件和这样的javascript代码:
echo '<script src="js/jquery.colorbox.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$("#iframe").colorbox({iframe:true, width: "830", height: "620"});
});
</script>';
echo '<a href="prices.php" id="iframe">see the pricelist</a>';
当我点击链接时,它作为iframe弹出通过colorbox打开。但是如果我在页面完全加载之前单击它,它将作为新页面上的普通链接打开(不会弹出为iframe)。那么如何在所有其他javascripts和文件之前首先加载colorbox脚本。所以也许我可以阻止它作为普通页面打开。 谢谢。
答案 0 :(得分:0)
由于您已将colorbox标签放在自定义标签之前。理想情况下,应该在执行脚本之前加载Colorbox。此外,document.ready()将确保在您的代码被触发之前所有DOM元素都可用。
请你发一个复制你问题的JS小提琴吗?
答案 1 :(得分:0)
你可以调用head标签中的一个函数,它将在完全解析DOM之前完全执行。这是使用document.ready
如果你想要执行一个你希望能够在$(document).ready()
函数和更早版本中运行的代码块,那么定义一个函数并提前调用它并将其放入$(document).ready()
同样。
// define this in the global scope or some other publicly available scope (not inside a document.ready() call).
function yourFunc() {
// put your code here
}
$(document.ready(function() {
yourFunc();
});
你可以在调用jquery库之后将这个函数放在头部,因为你需要jQuery lib来执行你的iframe
代码