2014-05-20 35 views
0

我與頁面進行鏈接改變兩個屬性掙扎:一個鏈接(的onclick)改變兩個屬性

一)我有一個選擇框,改變一個YouTube視頻,並加載它的價值。

function loadVideo() { 
    var selectBox = document.getElementById("videoSelection"); 
    var videoID = selectBox.options[selectBox.selectedIndex].value 

    if(ytplayer) { 
    ytplayer.loadVideoById(videoID); 
    } 
} 

  <select id="videoSelection" onchange="loadVideo();"> 
       <option value="ylLzyHk54Z0" selected>YouTube API Overview</option> 
       <option value="muLIPWjks_M">Ninja Cat</option> 
       <option value="GMUlhuTkM3w">Beatboxing Flute</option> 
      </select> 

B)我意識到,在變化的時刻,我需要改變DIV的波紋管的視頻格的內容。

c)有沒有辦法讓一個鏈接(不再是選擇框)改變div和視頻的屬性?

+0

一個changeDescription功能,所以我是正確的思維,你真的需要一個鏈接是點擊和youtube視頻改變,你也需要div的內容改變呢?這個div內容來自哪裏?例如,是從服務器還是從CMS放入頁面的內容? –

回答

1

假設你有:

<a href="#" class="videoLink" data-video="ylLzyHk54Z0">YouTube API Overview</a> 

您可以使用jQuery來檢測一個視頻鏈接的點擊,並使用其數據屬性通過所需的視頻ID來拉:

$(".videoLink").on("click", function() { 
    var videoId = $(this).data('video'); 
    loadVideo(videoId); 
    //Also load in the content you need into the div here 
}); 

那麼這將成爲您的視頻加載功能:

function loadVideo(videoID) { 

    if(ytplayer) { 
    ytplayer.loadVideoById(videoID); 
    } 
} 

因爲我不確定您的額外div內容來自何處如何將這看起來在你的HTML,很難告訴你如何實現這一點。

例如,如果內容已經在頁面中,您可以直接在div內顯示和隱藏正確的div或信息塊。或者,如果您想要,您可以使用AJAX調用來獲取您需要的內容並將其注入到div中,如果已經存在,則替換當前的內容。

對於這個例子的目的,我創建了一個的jsfiddle和簡單的div一個額外的描述數據的屬性添加,並添加在此EXAMPLE

+0

感謝您的回答,但我無法設法讓它工作。點擊鏈接並沒有真正做任何事情。我想要加載視頻的額外內容將被放置在視頻下的div「說明」中,因此鏈接應該有一個屬性,可以將其插入。 (例如:description =「...」) –

+0

這裏是一個例子(工作,減去youTube的特定部分):http://jsfiddle.net/lee_gladding/3y5EW/ –

+0

再次感謝,但我仍然有一個錯誤。難道是jQuery版本太舊?我的代碼在這裏。 http://ilovesegway.com/hadry/index.php –