Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以模式显示YouTube视频_Javascript_Jquery_Html_Youtube - Fatal编程技术网

Javascript 以模式显示YouTube视频

Javascript 以模式显示YouTube视频,javascript,jquery,html,youtube,Javascript,Jquery,Html,Youtube,使用此搜索功能,我可以根据搜索条件填充视频列表 // Execute search function search(){ // Clear Results $('#results').html(''); $('#buttons').html(''); // Get Form Input q = $('#query').val(); // Run GET Request on API $.get( "https://www

使用此搜索功能,我可以根据搜索条件填充视频列表

// 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;
}
//生成输出
函数getOutput(项){
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;
//生成输出字符串
变量输出=“
  • ”+ '' + '' + '' + '' + '' + ''+ '' + '通过'+channelTitle+'在'+videoDate+''上'+ “”+说明+”

    ”+ '' + “
  • ”+ '' + ''; 返回输出; }
    我一直在试图找出如何显示模式并让用户播放视频。我的目标部门是

    <div class="hidden" id="modal"></div>
    
    
    

    如果您能提供帮助,我将不胜感激。

    我建议您以后查看bootsnipp.com,了解这些类型的问题/片段

    下面是一个片段,它正是您想要实现的

    下面是这个片段的代码

    HTML


    你能总结一下链接片段的工作原理吗?如果链接消失,你的答案也随之消失。
    <div class="container">
        <div class="row">
            <div class="col-sm-12">
                <div class="jumbotron text-center">
                    <a href='#myModal' class='btn btn-primary btn-lg' data-toggle='modal' data-target='#playerModal'>
                        Youtube Video
                    </a>
                </div>
                <div class="modal fade" id='playerModal' role='dialog' tabindex='-1'>
                  <div class="modal-dialog modal-lg">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button class="close" aria-label='Close' data-dismiss='modal', type='button'>
                          <span aria-hidden='true'>×</span></button>
                        <h4 class="modal-title">Video title</h4>
                      </div>
                      <div class="modal-body">
                        <div class="embed-responsive embed-responsive-16by9">
                          <div id="player" class="embed-responsive-item"></div>
                        </div>
                      </div>
                      <div class="modal-footer">
                        <button class="btn btn-default" data-dismiss='modal' type='button'>
                            Close
                        </button>
                      </div>
                    </div>
                  </div>
              </div>
            </div>
        </div>
    </div>
    
    // Youtube API Functions (https://developers.google.com/youtube/iframe_api_reference)
    // =============================================
    
    var tag = document.createElement('script');
    
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    
    //### Variables
    var player;
    var playerModal = $('#playerModal');
    
    //### Youtube API
    function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
            height: '390',
            width: '640',
            videoId: 'L2Ew6JzfZC8'
        });
    }
    
    //### Modal Controls (http://getbootstrap.com/javascript/#modals)
    // Modal when show, begin to play video
    playerModal.on('show.bs.modal', function (e) {
        player.playVideo();
    });
    
    // Modal when hidden, pause or stop playing video
    playerModal.on('hidden.bs.modal', function (e) {
        player.pauseVideo();
        //player.stopVideo();
    });