0

我在任何人激活模态视频播放器时出现的网站上都有叠加效果。使.click()深色叠加层出现适用于所有浏览器,但.click()使其消失适用于除 Safari 之外的所有浏览器。

这是正在使用的代码:

$("a.watch-video").click(function() {
    $('#superhomevideooverlay').fadeIn();
});

$("a.video-close").click(function() {
    $('#superhomevideooverlay').fadeOut();
});

叠加层的 CSS 是

#superhomevideooverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  opacity: 0.5;
  z-index: 1000;
  display: none;
}

JS Fiddle 示例: http: //jsfiddle.net/Zf9Bp/ 注意:在 JSF 上,它适用于 Safari。所以我更难过。

4

1 回答 1

1

只是出于好奇,请尝试以下方法并告诉我它是否有效。用这个替换这两种.click方法:

$(document).delegate('a.watch-video, a.video-close', 'click', function(e) {
    if ($(this).hasClass('watch-video')) {
        $('#superhomevideooverlay').fadeIn();
    }
    else if ($(this).hasClass('video-close')) {
        $('#superhomevideooverlay').fadeOut();
    }
})

例子


在 Safari 版本 4.1 和 5.1 上测试和工作

于 2013-07-09T17:29:21.197 回答