使用JavaScript点击链接时,在youtube上搜索视频?

时间:2012-04-24 13:19:02

标签: javascript html youtube

当点击链接时,我也尝试制作一个可以在不重新加载页面的情况下加载YouTube视频的页面。当按下按钮时,我有代码工作,它看起来像:

$(document).ready(function() {
    $(".button").click(function() {
        var search = $(".input").val();
        var keyword= encodeURIComponent(search);
        var yt_url='http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&max-results=1&v=2&alt=jsonc';

$.ajax({
        type: "GET",
        url: yt_url,
        dataType:"jsonp",
        success: function(response) {
            if(response.data.items) {
                $.each(response.data.items, function(i,data) {
                    var video_id=data.id;
                    var video_frame="<iframe width='420' height='236' src='http://www.youtube.com/embed/"+video_id+"' frameborder='0' type='text/html'></iframe>";
                    $("#video").html(video_frame); 
                });
            } else {
                $("#video").html("<div id='no'>No Video</div>");
            }
        }
    });
});
});

我一直在尝试从我在线跟踪的教程中更改此代码,以便为链接工作。我不确定接下来应该做什么,我尝试更改类但是在从链接获取搜索数据时遇到了问题。我想要改进的是:

<div id="main_section">
    <div id=ytVid>
        <iframe width="480" height="360" src="http://www.youtube.com/embed/xJ3-NnNx6Zs" frameborder="0" allowfullscreen></iframe>
    </div>
    <p id="1">Jackie Wilson - Reet Petite</p>
    <p id="2">Queen - Bohemian Rhapsody</p>
</div>

当有人点击&#34; Jackie Wilson - Reet Petite&#34;文字或链接,它将更新youtube视频,女王歌曲也将更新。

由于

编辑: 我将JavaScript文件更改为:

$(document).ready(function() {
    $("#songInfo").click(function() {
    function openLink(evt) {
            var search = evt.target.innerHTML;
            var keyword= encodeURIComponent(search);
            ... rest of code ... 

和HTML to:

<p id="1" onclick="openLink(evt);"> Jackie Wilson - Reet Petite</p>
<p id="2" onclick="openLink(evt);"> Queen - Bohemian Rhapsody</p>

当我点击文字时没有发生任何事情 对不起,我是HTML中的新手,我应该早些说过。

1 个答案:

答案 0 :(得分:0)

我认为你可以通过&#34; onclick&#34;做同样的事情。 <p>代码的事件 - documentation表示它对这些代码有效。像这样:

document.getElementById("1").onclick = "openLink(evt);";

然后,如果您需要<p>标记的文字,请尝试以下内容:

function openLink(evt) {
    var search = evt.target.innerHTML;
    var keyword= encodeURIComponent(search);
    ... // just like your unnamed function
}