jquery - fancybox 没有视频库导航按钮

标签 jquery navigation fancybox fancybox-2

我正在使用 fancybox 来播放一些 YouTube 视频,我希望有导航按钮(覆盖层旁边的下一个和上一个按钮),就像 THIS 中一样。 fiddle 。

这是我的幻想盒:

$('.fancybox-media')
    .attr('rel', 'playlist')
    .fancybox({
        openEffect: 'none',
        closeEffect: 'none',
        prevEffect: 'none',
        nextEffect: 'none',
        arrows: false,

        helpers: {
            media: {}
        },
        overlay : {
            css: { 'overflow-y': 'hidden' }
        },
        youtube : {
            autoplay: 1,
            hd: 1,
            wmode: 'opaque',    // shows X to close
            vq: 'hd720'         // default 720p hd quality
        },
        beforeShow : function(){
            $("body").css("overflow", "hidden"); // hide body scrollbar
        },
        afterClose: function(){
            $("body").css("overflow", "scroll"); // show body scrollbar
        }
    });

关于this来自 JFK 的帖子,我已将这些样式放入我的 css 文件中:

.fancybox-lock {
    margin: 0 !important;
}

.fancybox-nav {
    width: 60px;       
}

.fancybox-nav span {
    visibility: visible;
}

.fancybox-next {
    right: -60px;
}

.fancybox-prev {
    left: -60px;
}

和我的html:

<li class="closed">Headline
    <ul>
        <li class="fl"><a class="fancybox-media" href="http://www.youtube.com/watch?v=Dtb5Srdx7iY" rel="playlist"><img class="thumbnail" src="x.jpg"></a></li>
        <li class="fl"><a class="fancybox-media" href="http://www.youtube.com/watch?v=Dtb5Srdx7iY" rel="playlist"><img class="thumbnail" src="x.jpg"></a></li>
    </ul>
</li>

以及实现的样式表:

 <!-- FancyBox -->
<script type="text/javascript" src="fancybox/jquery.fancybox.js?v=2.1.4"></script>
<script type="text/javascript" src="fancybox/helpers/jquery.fancybox-media.js?v=1.0.5"></script>
<link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox.css?v=2.1.4" media="screen" />

我就是无法让它工作,我也不知道为什么。我觉得我丢失了一些文件左右。

最佳答案

嗯,this post JFK(我)写的已经一年多了,所以接受的答案可能会被最新版本的 fancybox 否决,所以你现在应该忘记它。

您需要的唯一 CSS 与 fiddle 中的相同。您在帖子开头提到的内容:

.fancybox-nav {
    width: 60px;       
}

.fancybox-nav span {
    visibility: visible;
}

.fancybox-next {
    right: -60px;
}

.fancybox-prev {
    left: -60px;
}

...那么,您的 jQuery 代码不需要这些行,因此您可以删除它们

overlay : {
    css: { 'overflow-y': 'hidden' }
}
beforeShow : function(){
    $("body").css("overflow", "hidden"); // hide body scrollbar
},
afterClose: function(){
    $("body").css("overflow", "scroll"); // show body scrollbar
}

...因为它已经由 fancybox v2.1.4 处理

最后,既然您说我想要导航按钮(覆盖层旁边的下一个和上一个按钮),那么在您的代码中使用此选项就没有意义,

arrows: false

...是吗?所以也将其删除。请参阅工作 JSFIDDLE

关于jquery - fancybox 没有视频库导航按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856521/

相关文章:

javascript - 在 JavaScript 中将多组参数作为数组传递是否比多个函数调用更快?

javascript - 具有localStorage的BroadcastChannel-兼容性

javascript - Bootstrap3 Datepicker - 计算活跃日期

jquery - Fancybox 规则冲突

javascript - 如何从 javascript 打开 fancybox。

jquery - 在 jquery 中引用选择器比实际调用选择器更快吗?如果是这样,有多大区别?

android - 从 fragment 中禁用抽屉导航

ios - UICollectionViewController 布局到布局的导航转换

jquery - 如何修复折叠到导航栏的故障标题

javascript - 在 fancybox 中定位缩略图