【问题标题】:FancyBox 2 YouTube wmode parameter not activatingFancyBox 2 YouTube wmode 参数未激活
【发布时间】:2012-10-26 07:47:00
【问题描述】:

由于某种原因,即使我将 wmode 参数设置为 opaque,我也无法通过 YouTube iframez-index 设置为 9999 的绝对位置元素显示在我的 FancyBox 上,甚至是“X”关闭按钮:

FancyBox v2.1.3

FancyBox Media v1.0.5

JS:

(function($) {
    $(function() {

        $('#splash-video')
            .fancybox({
                fitToView : true,
                width     : '100%',
                height    : '100%',
                margin    : 10,
                padding   : 0,
                helpers   : {
                    media : true
                },
                youtube : {
                    params : {
                        autoplay : 1,
                        fs       : 1,
                        hd       : 1,
                        rel      : 0,
                        showinfo : 0,
                        wmode    : 'opaque' // this no worky
                    }
                }
            });

        $('.skip-video').on('click', function() {
            $.fancybox.close();
            $(this).remove();
        });

        setTimeout(function() {
            $.fancybox.close();
            $('.skip-video').remove();
        }, 64000);
    });
})(jQuery);

HTML:

<a id="splash-video" href="http://www.youtube.com/watch?v=dQw4w9WgXcQ"></a>
<a href="#" class="skip-video">Skip Video</a>

上面激活了我的 FancyBox,然后点击触发显示,同时将我的 .skip-video 锚位置放在顶部,但它没有。

透明和不透明似乎对任何浏览器都没有影响; “X”关闭按钮和 div 在 Chrome 中的 YouTube 视频上方,但实际上没有其他主要浏览器(FF、IE7-9、Opera 和 Safari)。

总而言之,我认为 YouTube 参数都不起作用。

更新:

感谢Janis' 的帮助,它现在可以工作了 :)。 我将我的 Fancybox JS 更改为:

$('#splash-video')
    .fancybox({
        fitToView : true,
        width     : '100%',
        height    : '100%',
        margin    : 0,
        padding   : 0
    });

并将锚点更改为:

<a id="splash-video" class="fancybox.iframe" href="http://www.youtube.com/embed/opj24KnzrWo?autoplay=1&amp;autohide=1&amp;fs=1&amp;rel=0&amp;hd=1&amp;wmode=opaque&amp;enablejsapi=1"></a>

大获成功!

【问题讨论】:

    标签: jquery parameters fancybox fancybox-2 wmode


    【解决方案1】:
    1. 为什么您认为所有参数都不起作用?您的视频是否自动启动?如果你查看开发者工具,iframe 源代码是这样的吗?
      http://www.youtube.com/embed/opj24KnzrWo?autoplay=1&amp;autohide=1&amp;fs=1&amp;rel=0&amp;hd=1&amp;wmode=opaque&amp;enablejsapi=1
      如果是,那么脚本运行良好。

    2. 我不知道你究竟是如何试图让绝对位置元素出现在 fancyBox 上以及为什么它不适合你,但这对我来说很好:

      $(".fancybox")
      .attr('rel', 'gallery')
      .fancybox({
          openEffect  : 'none',
          closeEffect : 'none',
          nextEffect  : 'none',
          prevEffect  : 'none'
      });​
      

      Test case.

    【讨论】:

    • 不,iframe url 不是那样,它是媒体 js 文件中的默认 URL,我在这里和其他地方四处寻找,你用参数覆盖它,但我只是添加了 class= “fancybox.iframe”和上面的完整href字符串,它工作
    猜你喜欢
    • 2011-12-06
    • 2017-06-22
    • 2021-04-11
    • 2015-04-14
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2012-07-09
    相关资源
    最近更新 更多