Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery jqmodal IE(7或8)在模式加载前闪烁黑色_Jquery_Ruby On Rails_Jqmodal - Fatal编程技术网

Jquery jqmodal IE(7或8)在模式加载前闪烁黑色

Jquery jqmodal IE(7或8)在模式加载前闪烁黑色,jquery,ruby-on-rails,jqmodal,Jquery,Ruby On Rails,Jqmodal,这简直要了我的命。在IE7和IE8中,使用jqModal,在加载模式内容之前,屏幕会闪烁黑色。我已经设置了一个测试应用程序,向您展示正在发生的事情。我完全从网站上获取了jqModal,没有任何更改,没有可能影响我的应用程序的外部css。它在所有其他浏览器(包括IE6)中都能完美工作 所以,前两个链接是ajax调用,第二个是直接内联HTML。(我原本以为是ajax影响了它,但事实似乎并非如此,然后我认为加载ajax的速度很慢,因此加载了两个不同的ajax链接) 疯狂的是,jqmodal站点本身

这简直要了我的命。在IE7和IE8中,使用jqModal,在加载模式内容之前,屏幕会闪烁黑色。我已经设置了一个测试应用程序,向您展示正在发生的事情。我完全从网站上获取了jqModal,没有任何更改,没有可能影响我的应用程序的外部css。它在所有其他浏览器(包括IE6)中都能完美工作


所以,前两个链接是ajax调用,第二个是直接内联HTML。(我原本以为是ajax影响了它,但事实似乎并非如此,然后我认为加载ajax的速度很慢,因此加载了两个不同的ajax链接)

疯狂的是,jqmodal站点本身在IE中工作完美,没有闪烁的黑色,但我看不出我做错了什么。代码是直截了当的

html:


这里有一些内联内容



Javascript:

<script type="text/javascript">
  $(function(){
    $("#ajaxModal").jqm({ajax:'@href', modal:true});
    $("#inlineModal").jqm({modal:true, trigger:'.jqInline'});
  });
</script>

$(函数(){
$(“#ajaxModal”).jqm({ajax:'@href',modal:true});
$(“#inlineModal”).jqm({modal:true,触发器:'.jqInline'});
});
CSS与从jqModal网站下载的完全相同,因此我将省略它,但您可以在我的应用程序中看到它


有人经历过吗?我不知道他的工作原理,我的也不知道。

在研究了源代码之后,我找到了一个解决方法。将第41行(jqModal r14中)更改为:


我还主持了修复程序以及一个。由于源代码已经缩小(虽然我猜可能与同时显示多个模态有关),所以我不完全确定该更改会起什么作用,所以一定要对其进行全面测试,以确保它不会破坏任何功能。

在使用源代码后,我找到了一个解决方法。将第41行(jqModal r14中)更改为:


我还主持了修复程序以及一个。由于源代码已经缩小(虽然我猜可能与同时显示多个模态有关),所以我不完全确定该更改会起什么作用,所以一定要对其进行全面测试,以确保它不会破坏任何功能。

我尝试了jimyi的解决方案,但它并没有为我解决问题。下面是我的想法:

在我的CSS中,我添加了一个新规则

.jqmOverlay { display: none; }
当我弹出特定的模态对话框时,我会这样做:

$("#pleaseWait").jqmShow();   // show the modal dialog
$(".jqmOverlay").fadeIn(10);  // very quick fade-in
淡入可以覆盖CSS规则&黑色闪光被消除


注意:我还没有测试它,但是fadeIn操作可能会干扰显示模式对话框,其中覆盖层不是完全透明的。

我尝试了jimyi的解决方案,但它没有解决我的问题。下面是我的想法:

在我的CSS中,我添加了一个新规则

.jqmOverlay { display: none; }
当我弹出特定的模态对话框时,我会这样做:

$("#pleaseWait").jqmShow();   // show the modal dialog
$(".jqmOverlay").fadeIn(10);  // very quick fade-in
淡入可以覆盖CSS规则&黑色闪光被消除


注意:我还没有测试它,但是fadeIn操作可能会干扰显示模式对话框,其中覆盖层不是完全透明的。

我想我找到了解决这个模糊问题的方法

改变

o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});


我想我找到了解决这个模糊问题的办法

改变

o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});


我也经历过这一点(还没有找到解决方案)。当你有{modal:true}并且有一个不透明的覆盖层时,就会出现黑色闪光。jqModal站点上的示例都没有这两种情况,我也经历过(并且没有找到解决方案)。当你有{modal:true}并且有一个不透明的覆盖层时,就会出现黑色闪光。jqModal网站上的示例都没有这两种情况。太棒了,我会在有机会的时候进行测试。jqModal的源代码是多么烦人!我不明白为什么有人会故意写这样的代码(它不是技术上的小型化,他只是这样写的)。Thx我会带着我的findingsawesome回来,我会在有机会的时候测试一下。jqModal的源代码是多么烦人!我不明白为什么有人会故意写这样的代码(它不是技术上的小型化,他只是这样写的)。谢谢,我会带着我的发现回来的
o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100}).hide();
h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):F;
h.o=(o)?o.addClass(c.overlayClass).prependTo('body').show():F;