2013-08-04 50 views
0

我有一個colorbox.js文件和JavaScript這樣的代碼:如何在所有其他javascript和js文件之前加載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彈出。但是,如果我在頁面完全加載之前單擊它,它會在新頁面上作爲普通鏈接打開(不會作爲iframe彈出)。那麼如何在所有其他javascript和文件之前先加載colorbox腳本。所以也許我可以阻止它作爲普通頁面打開。 謝謝。

+0

必須有另一個錯誤。存在於頁面中的腳本標籤最初同步運行。由於腳本標籤在'a'標籤之前的HTML中,它將在它之前運行。考慮發佈HTML結果而不是PHP回聲。 –

+2

無論你把它放在哪裏,'$(document).ready()'在頁面完全加載之前都不會被觸發。 – DCoder

回答

0

由於您已將colorbox的標籤放置在您的自定義標籤之前。理想情況下,應該在您的腳本執行之前加載Colorbox。此外,document.ready()將確保您的代碼被觸發前所有DOM元素都可用。

你可以請一個JS小提琴複製你的問題?

0

在DOM完全解析之前,您可以在head標記中調用它將立即執行的函數。就是用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代碼

相關問題