【问题标题】:fancybox no navigation buttons for video galleryfancybox 没有用于视频库的导航按钮
【发布时间】:2013-03-29 04:51:05
【问题描述】:

我在一些 youtube 视频中使用了 fancybox,我希望有导航按钮(覆盖层旁边的下一个和上一个按钮),就像在 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
        }
    });

关于来自 JFK 的 this 帖子,我已将这些样式放入我的 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" />

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

【问题讨论】:

  • 为什么不在 jsfiddle 中发布您的代码,如果它不起作用,请在此处发布链接...
  • 您是否检查过您所链接的问题已接受的答案?您是否尝试过使用 firebug net 选项卡对其进行调试,以检查您是否确实丢失了任何文件?

标签: jquery fancybox fancybox-2 next


【解决方案1】:

嗯,JFK(我)的this post 已经有一年多了,所以接受的答案可能会被最新版本的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 处理了

最后,既然你说I would like to have navigation buttons (next and previous buttons beside the overlay),那么在你的代码中有这个选项是没有意义的,

arrows: false

...是吗?所以也删除它。查看工作 JSFIDDLE

【讨论】:

  • 这似乎有道理:P 谢谢!最后一件事:我试图按照您在小提琴中的描述​​永久显示箭头,但我不知道将内联样式放在哪里。我的 html 页面只有
    ...
    我加载到我的#content 中,以便不必在每次单击链接时重新加载页面。所以我从我的 style.css 中删除了 css,并将内联样式粘贴到我的 index.html 的标题和我链接的
    页面之一的上方,但这些都不起作用。
  • @JFK:试图应用你的小提琴,它对我不起作用,我包括 jquery.fancybox.js/css。链接直接转到 youtube。你能帮我吗?
  • @Rosh :你的意思是不适合你:可见的导航箭头? ...不知道如果我不知道您的代码或您的工作站点,我怎么能帮助您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
相关资源
最近更新 更多