【问题标题】:Hover div on top of youtube video将 div 悬停在 youtube 视频顶部
【发布时间】:2012-10-19 14:00:00
【问题描述】:

我有一个脚本调用 youtube 提要,然后显示视频(无 iframe) 请看小提琴:JsFiddle

我想在播放器顶部显示一个 img,所以我附加了一个这样的 img:

 html += '<span>Top Rated</span><img src="http://christianjamesphoto.com/themes/chrisjames/images/arrow-left.gif" /></div>';

并分配给它z-index:9999; 但是这似乎不起作用。我已经搜索了这个问题的答案,似乎我必须将wmode="transparent" 放入链接中,但我不确定如何在 url 中实现它。我该怎么做才能让它在播放器顶部显示 img?

【问题讨论】:

  • 左箭头显示在我的播放器顶部。你在什么浏览器上测试?
  • @Dcullen 我正在使用 chrome 最新版本。我也看到了箭头,但不是一直都看到。有时只有当我向下滚动但它一直消失(它不稳定)。但这仅在 Jsfiddle 中。当我从桌面查看它时,我根本看不到箭头

标签: javascript jquery youtube youtube-api


【解决方案1】:

您可以像这样向 jTubeEmbed 插件添加新选项:http://jsfiddle.net/aFx29/2/

变化:

    jTubeEmbed: function(video, options) {
        var options = $.extend({
            // Embed Options
            width: 560,
            height: 340,
            wmode: 'window', // can be window, transparent and opaque

            // Player Options
            autoplay: false,
            fullscreen: false,
            related: true,
            loop: false,
            keyboard: true,
            genie: false,
            border: false,
            highdef: true,
            start: 0
        }, options);

        // ... ommitted for brevity ...

        if(options.wmode) {
            videoEmbed += '<param name="wmode" value="' + options.wmode + '"></param>';
        }

        if(options.fullscreen == true) {
            videoEmbed += '<param name="allowFullScreen" value="true"></param>';
        }

        videoEmbed += '<embed src="'+videoUrl+'"';
        videoEmbed += '    type="application/x-shockwave-flash"';

        if(options.wmode) {
            videoEmbed += '    wmode="' + options.wmode + '"';
        }

        if(options.fullscreen == true) {
            videoEmbed += '    allowfullscreen="true"';
        }

        videoEmbed += '    allowscriptaccess="always"';
        videoEmbed += '    width="'+options.width+'" height="'+options.height+'">';
        videoEmbed += '    </embed>';
        videoEmbed += '</object>';

        return videoEmbed;
    }

并在调用jTubeEmbed 时传递您想要的选项,例如:

$.jTubeEmbed(this.video, {
    // your options here,
    wmode: 'opaque'
});

【讨论】:

  • 它不适用于 jsfiddle...同样的问题。它不会在页面加载时显示
  • 我刚刚忘记将参数添加到代码调用中,但插件已经更改。更新了小提琴:jsfiddle.net/aFx29/2
【解决方案2】:

播放器是一个 flash 对象,要在顶部放置图像,您应该考虑:

Display image above flash object

将此参数添加到videoEmbed:

videoEmbed += '<param name="wmode" value="transparent"></param>';

你可以在你的代码中尝试这样的事情:

html = '<li>';
html += '<div style="position:absolute; top:0px; z-index:2000;"><span>Top Rated</span>';
html += '<img src="http://christianjamesphoto.com/themes/chrisjames/images/arrow-left.gif" alt="" /></div>';
html += $.jTubeEmbed(this.video, embedOptions);
html += '<a href="'+this.link+'">'+this.title+'</a>';
html += '</li>';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    相关资源
    最近更新 更多