【发布时间】:2017-01-16 22:31:36
【问题描述】:
使用此搜索功能,我可以根据搜索条件填充视频列表。
// Execute search
function search(){
// Clear Results
$('#results').html('');
$('#buttons').html('');
// Get Form Input
q = $('#query').val();
// Run GET Request on API
$.get(
"https://www.googleapis.com/youtube/v3/search",{
part: 'snippet, id',
q: q,
type:'video',
key: 'YouTubeData_API_KEY'},
function(data){
var nextPageToken = data.nextPageToken;
var prevPageToken = data.prevPageToken;
// Log Data
console.log(data);
$.each(data.items, function(i, item){
// Get Output
var output = getOutput(item);
// Display Results
$('#results').append(output);
});
var buttons = getButtons(prevPageToken, nextPageToken);
// Display Buttons
$('#buttons').append(buttons);
// Display video in a modal
$('.video-title').click(function (event) {
event.preventDefault();
// unhide modal here when you see the console.log populate
console.log('you clicked the title');
$('#modal').removeClass('hidden');
});
}
);
}
但是,当单击视频标题时,我试图将其填充到模态/灯箱中。我正在尝试通过使用此函数构建输出来做到这一点。
// Build Output
function getOutput(item){
var videoId = item.id.videoId;
var title = item.snippet.title;
var description = item.snippet.description;
var thumb = item.snippet.thumbnails.high.url;
var channelTitle = item.snippet.channelTitle;
var videoDate = item.snippet.publishedAt;
// Build Output String
var output = '<li>' +
'<div class="list-left">' +
'<img src="'+thumb+'">' +
'</div>' +
'<div class="list-right">' +
'<h3>' +
'<a class="video-title" href="http://www.youtube.com/embed/'+videoId+'">'+title+'</a>'+
'</h3>' +
'<small>By <span class="cTitle">'+channelTitle+'</span> on '+videoDate+'</small>' +
'<p>'+description+'</p>' +
'</div>' +
'</li>' +
'<div class="clearfix"></div>' +
'';
return output;
}
我一直在试图弄清楚如何显示模式并让用户播放视频。我所针对的 div 只是...
<div class="hidden" id="modal"></div>
如果您能提供帮助,我将不胜感激。
【问题讨论】:
标签: javascript jquery html youtube