リンクがクリックされたときに、ページを再読み込みせずに 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>
誰かが「Jackie Wilson - Reet Petite」のテキストまたはリンクをクリックすると、YouTube ビデオが更新され、クイーンの曲も更新されます。
ありがとう
編集: JavaScript ファイルを次のように変更しました。
$(document).ready(function() {
$("#songInfo").click(function() {
function openLink(evt) {
var search = evt.target.innerHTML;
var keyword= encodeURIComponent(search);
... rest of code ...
および HTML を次のようにします。
<p id="1" onclick="openLink(evt);"> Jackie Wilson - Reet Petite</p>
<p id="2" onclick="openLink(evt);"> Queen - Bohemian Rhapsody</p>
テキストをクリックしても何も起こらなかった 申し訳ありませんが、私は HTML の JavaScript を初めて使用します。もっと早く言うべきでした。