Javascript 除非我关闭鼠标,否则Div不会进入lightbox的背景
我正在为一个视频画廊建一个灯箱。在Jquery中,我添加了一个函数来保持页面上的滚动位置,因此当您单击lightbox时,它会将您带回到打开它时的位置。然而,现在我已经创建了一个bug,它会将活动的gif保持在灯箱前面,直到你将鼠标移离它 目前,该网站如下所示:imgur.com/HUy6GT1 如果你点击一个视频,不移动鼠标,你就会明白我的意思。 (除非您打开它时使用firefox,因为存在兼容性问题-可能是另一天的问题…) 这是相关的jQuery:Javascript 除非我关闭鼠标,否则Div不会进入lightbox的背景,javascript,jquery,scroll,mouseevent,lightbox,Javascript,Jquery,Scroll,Mouseevent,Lightbox,我正在为一个视频画廊建一个灯箱。在Jquery中,我添加了一个函数来保持页面上的滚动位置,因此当您单击lightbox时,它会将您带回到打开它时的位置。然而,现在我已经创建了一个bug,它会将活动的gif保持在灯箱前面,直到你将鼠标移离它 目前,该网站如下所示:imgur.com/HUy6GT1 如果你点击一个视频,不移动鼠标,你就会明白我的意思。 (除非您打开它时使用firefox,因为存在兼容性问题-可能是另一天的问题…) 这是相关的jQuery: function scrollPositi
function scrollPosition() {
var tempScrollTop = $(window).scrollTop();
return $(window).scrollTop(tempScrollTop);
return false;
}
//LIGHTBOX -->Trigger //
$('.lightbox_trigger').click(function(e) {
e.preventDefault();
var video_href = $(this).attr("href");
var $lbcontent = $('#lbcontent');
var $lightbox = $('#lightbox');
$('.lightbox_trigger').addClass('disableClick');
//Vimeo Regex//
function getVimeoVideoId(url){
var regex = new RegExp(/(https?:\/\/)?(www.)?(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/);
if ( regex.test(url) ) {
return regex.exec(url)[5];
}
}
function embedVideo(video) {
document.getElementById('embed').innerHTML = unescape(video.html);
}
var video_id = getVimeoVideoId(video_href) + '?api=1';
if ($lightbox.length > 0) {
$lbcontent.html('<iframe src="//player.vimeo.com/video/' + video_id +'" height="100%" width="100%" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen>' + '</iframe>') ;
$('#lightbox').show('fast');
$lbcontent.show();
scrollPosition();
}
else {
//create HTML markup for lightbox window
var lightbox =
'<div id="lightbox">' +
'<div id="lbcontent" >' +
'<iframe src="//player.vimeo.com/video/' + video_id +'" height="100%" width="100%" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen>' + '</iframe>'
+ '</div>' +
'</div>';
//insert lightbox HTML into page
$('.site-main').append(lightbox);
$lbcontent.show('fast');
scrollPosition();
}
})
$(document).on('click', '#lightbox', function() {
if ($(event.target).has('#lbcontent').length) {
$('#lightbox').hide();
$('.entry-content').show();
scrollPosition();
$('.lightbox_trigger').removeClass('disableClick');
};
if ($(event.handler).has('#lbcontent')) {
$('#lbcontent').hide();
$('.entry-content').show();
$('#lbcontent iframe').attr('src', " ");
scrollPosition();
$('.lightbox_trigger').removeClass('disableClick');
}
函数滚动位置(){
var tempScrollTop=$(window.scrollTop();
返回$(窗口).scrollTop(临时scrollTop);
返回false;
}
//灯箱-->触发器//
$('.lightbox_触发器')。单击(函数(e){
e、 预防默认值();
var video_href=$(this.attr(“href”);
var$lbcontent=$(“#lbcontent”);
var$lightbox=$(“#lightbox”);
$('.lightbox_触发器').addClass('disableClick');
//Vimeo正则表达式//
函数getVimeoVideoId(url){
var regex=newregexp(/(https?:\/\/)?(www.)?(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]./);
if(正则表达式测试(url)){
返回regex.exec(url)[5];
}
}
功能嵌入式视频(视频){
document.getElementById('embed').innerHTML=unescape(video.html);
}
var video_id=getvimeovideid(video_href)+'?api=1';
如果($lightbox.length>0){
$lbcontent.html(“”+“”);
$(“#lightbox”).show('fast');
$lbcontent.show();
滚动位置();
}
否则{
//为lightbox窗口创建HTML标记
var灯箱=
'' +
'' +
'' + ''
+ '' +
'';
//将lightbox HTML插入页面
$('.site main').append(lightbox);
$lbcontent.show('fast');
滚动位置();
}
})
$(文档)。在('单击','灯箱',函数()上){
if($(event.target).has('#lbcontent').length){
$(“#lightbox”).hide();
$('.entry content').show();
滚动位置();
$('.lightbox_trigger').removeClass('disableClick');
};
if($(event.handler).has('#lbcontent')){
$('#lbcontent').hide();
$('.entry content').show();
$('#lbcontent iframe').attr('src',“”);
滚动位置();
$('.lightbox_trigger').removeClass('disableClick');
}
奇怪的是,如果我删除scrollPosition()函数,问题就会消失。
为什么会发生这种情况?这是怎么回事?我在IE和Chrome上都能正常工作!这太奇怪了。如果在点击事件后我根本不移动鼠标,我的页面看起来就像这样!这是我这边的行为!使用Chrome 51.0.2704.103 m版,你在使用哪种浏览器?哇,你那边看起来不错。我在使用Chrome Version 51.0.2704.106(64位)。我不知道这是不是造成差异的原因。它在IE和Chrome上都很好!这太奇怪了。如果在点击事件后我根本不移动鼠标,我的页面看起来就像这样!这是我这边的行为!使用Chrome版本51.0.2704.103 m,你在使用哪个浏览器?哇,你那边看起来不错。我在使用Chrome版本51.0.2704.103 m在51.0.2704.106(64位)上。我想知道这是否就是区别所在。