2012-12-01 19 views
0

我知道這是一個問題有點模糊,但我有一個只是YouTube視頻牆的網頁。我把視頻分成稱爲行的div,每行大約有3個,也許有4個視頻。在我的腳本中,我使用jQuery函數爲每個視頻創建SWF對象,並且我有一些簡單的php在wordpress循環內創建每行視頻。如何使用ajax加載一排YouTube視頻,然後進入下一行

我的問題是;有沒有辦法加載一行,3或4個視頻,然後完成繼續wordpress循環到下一行,依此類推。我相信我的答案在於ajax,但我沒有經驗。我知道jQuery有一些很棒的工具和方法可以用來幫助Ajax,但我不知道從哪裏開始,我甚至在尋找什麼。

從字面上看,網頁所做的就是循環下面這段代碼,這會稍微減少一點。但是它運行這個函數3次,然後進入下一行,並再次執行3次,直到wordpress表示該類別中沒有更多帖子。我怎樣才能讓Ajax一次做一行,而不是「一次全部」。

<script type="text/javascript"> 
    var youtubeID = '<?php echo $urlYoutube; //pass the php var to js var?>'; 
    var divID = '<?php echo $divName;?>'; 
    getVideoSML(youtubeID, divID); 
</script> 

如果不是答案,我們將不勝感激,向正確的方向提供良好和大方的'推動'。

回答

0
<script type="text/javascript"> 
    var youtubeID = '<?php echo $urlYoutube; //pass the php var to js var?>'; 
    var divID = '<?php echo $divName;?>'; 
    getVideoSML(youtubeID, divID); 
</script> 

這不是你如何將數據從PHP傳遞到Javascript。您應該閱讀有關JSONAjax的內容。互聯網上有很多教程,並且通過jQuery(甚至可以看一下),所有內容都變得非常簡單。

我不認爲我得到了這個問題,但我認爲你有一個理解循環的問題。 AJAX只是一種以非同步方式加載頁面的方式。如果我得到它的權利,你應該使用2循環:

$vps = 4; // number of videos per row 
while (/* there are rows to be printed */) { 
    for ($i = 0; $i < $vpr; $i++) { 
     /* print the video */ 
    } 
} 
+0

爲什麼我需要通過數據的方式,完成它,因爲它只會是一個短的字符串傳遞。至於循環,wordpress已經處理了WHILE循環,我也爲FOR循環寫了一些代碼,但是我想我想知道的是關於打印順序。是不是所有循環的迭代都完成了,那麼瀏覽器一次打印所有的數據,因此增加了整個頁面加載?如果是這樣,我想完成加載頁面,然後開始加載行 –

+1

@NilsR,那麼你需要加載與AJAX的行。 PHP只會在加載所有內容時顯示最終頁面,並且會增加頁面加載。使用AJAX是加載頁面然後加載每個視頻的好方法;只需考慮用戶禁用JavaScript的情況(但AJAX不起作用)。 – Shoe

+0

你知道我可以閱讀的任何鏈接或者在這種情況下實現ajax的方式或任何可以幫助我滾動的方法嗎? –