通过关闭,无法在灯箱内停止/暂停嵌入的youtube视频(youtube api)

时间:2015-11-19 19:42:43

标签: javascript jquery youtube

我正在使用Lightbox,用户可以在其中观看视频 问题如果我通过点击容器外部关闭它我将得到错误“无法读取属性'stopvideo'未定义”但如果我用按钮关闭它,它运作良好。

    $(function(){
        var appendthis =  ("look over jsfiddle");
        $('a[data-modal-id]').click(function(e) {
        $(window).resize();
        e.preventDefault();
        $("body").append(appendthis);
        $(".modal-overlay").fadeTo(500, 0.7);
        var modalBox = $(this).attr('data-modal-id');
        $('#'+modalBox).fadeIn($(this).data());

        $(".js-modal-close-vid, .modal-overlay").click(function() { 
            var player = $(this).closest('.modal-box').data('player');
            player.stopVideo();
                $(".modal-box, .modal-overlay").fadeOut(500, function() {
                $(".modal-overlay").remove();
                });
        });

    });

  


评论中的JsFiddle。

1 个答案:

答案 0 :(得分:0)

$(".js-modal-close, .modal-overlay").click(function() {
  var player = $('.modal-box').data('player');
  player.stopVideo();
  player.seekTo(0);
  $(".modal-box, .modal-overlay").fadeOut(500, function() {
    $(".modal-overlay").remove();
  });
});

此更改正在将$(this).closest('.modal-box').data('player');更改为$('.modal-box').data('player')并且有效。我认为这里的问题是错误地使用closest方法并且选择器不符合您的预期。

http://jsfiddle.net/4f5dksj5/6/