這是PHP上的CodeIgniter。如何避免回顯大片的javascript
在我的(MVC)視圖中,我有一個循環,爲循環的每個實例創建一個小的浮動圖(javascript)。
<?php
for each ($catalog as $book) {
echo "<li>";
echo anchor('controller/manager/'.$key['Title']) . ' is available';
// flot javascript goes here to generate a small graph for this list item
}
unset ($book); ?>
循環本身是PHP,JavaScript的大概是50行左右的代碼,我從一些樣品別處發展。
因此,爲了讓代碼在這個視圖中工作,我需要echo出每一行,否則我打破每個循環的,當我在javascript開始之前終止PHP並重新decalre php在JavaScript完成後。
什麼是更有效的方法呢?
OK,我在這一個總的小白...你可以給我一個指針? – Maxcot
找到了:http://www.w3.org/wiki/The_principles_of_unobtrusive_JavaScript – Maxcot
理想的做法是將大部分JS代碼放入單獨的外部文件中,並使用腳本標記將它們鏈接到視圖文件中。腳本標籤可以在HTML頭部或在關閉正文標籤之前。由於頁面加載時間通常更快,我更喜歡後者。jQuery使得以這種方式編寫JS更容易B/C它提供了簡單的跨瀏覽器方法來將事件綁定到DOM元素。它還有一個.ready()方法,您可以將代碼包裝進來,以確保在執行代碼時DOM已準備就緒。模塊模式也很好融入。 –