2014-05-20 36 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 –