Fancybox中的JW播放器。无法隐藏控制栏

时间:2013-01-20 16:39:18

标签: jquery fancybox jwplayer fancybox-2

民歌的, 我正在使用Fancybox和Jwplayer来显示像照片一样的视频。我的问题是导航栏永远不会隐藏。此外,视频从768px(原始大小)调整为725px(显示大小),我不知道为什么。这是代码: HTML

 <a class="video" href="../img/advertising/img/video/NEOCLAIM_Femme.flv" title="NEOCLAIM Femme"><img src="../img/advertising/ico/ic02-neocalmF.jpg" alt="" /></a>

和JS

   $("a.video").click(function() {
   $.fancybox({
    'scrolling' : 'no',
    'padding' : 0,
    'title' : this.title,
    'type' :'swf',
    'content': '<embed src="../jwplayer/player.swf?file='+this.href+'&amp;autostart=true&amp;fs=1" type="application/x-shockwave-flash" width="768" height="432" wmode="opaque" allowfullscreen="true" allowscriptaccess="always"></embed>',
    helpers : {
        overlay : {
            css : {
                'background' : 'rgba(0, 0, 0, 1)'
            }
        }
    }              
   });
   return false;
  });

我是初学者,无法找到解决方案。 谢谢您的帮助。 这是指向页面After this link you must click on the first thumbnail

的链接

1 个答案:

答案 0 :(得分:1)

这不是一个真正的问题,但你可能在LongTail支持论坛上找到了这个问题。

如果你想隐藏(并在悬停时显示)JWPlayer控制栏,你只需要通过flashvar controlbar=over将其设置为“ over ”...所以控制栏将在鼠标空闲时自动隐藏,并在播放视频时将其显示出来。

另一方面,您可以使用链接中的(HTML5)data-*属性传递每个视频的特定尺寸,例如:

<a data-width="352" data-height="270" class="video" href="../img/advertising/img/video/NEOCLAIM_Femme.flv" title="NEOCLAIM Femme"><img src="../img/advertising/ico/ic02-neocalmF.jpg" alt="" /></a>

...(使用每个视频的正确widthheight值)并在您的fancybox脚本中,使用API​​选项fitToView: false阻止自动调整大小....然后使用afterLoad回调来捕捉每个视频的尺寸。

您的完整fancybox自定义脚本应如下所示:

$(document).ready(function () {
  $(".video").fancybox({
    padding : 0,
    fitToView: false, // fancybox won't auto-resize to fit in viewport
    content: '<span></span>', // create temp content
    scrolling: 'no',
    helpers : { overlay : { css : {  'background' : 'rgba(0, 0, 0, 1)' }  }  },
    afterLoad: function () {
      var $width = $(this.element).data('width'); // get dimensions from data attributes
      var $height = $(this.element).data('height');
      // replace temp content
      this.content = "<embed src='jwplayer.swf?file=" + this.href + "&autostart=true&amp;wmode=opaque&amp;controlbar=over' type='application/x-shockwave-flash' width='" + $width + "' height='" + $height + "'></embed>"; 
    }
  });
}); // ready

... 通知我们在对象controlbar=over的字符串值中添加了this.content。另请注意,我们没有使用.click()方法,而是将fancybox直接绑定到选择器.video。此外,我们实际上并不需要'title' : this.title'type' :'swf',因此我将其删除。

演示? ...... see it here