Jquery SimpleModal 在 Firefox 中闪烁

发布于 2024-09-04 19:16:58 字数 637 浏览 7 评论 0原文

我正在使用 Jquery 的 SimpleModal 插件,但我在 Firefox 上遇到了一个奇怪的问题(其他浏览器工作正常:Chrome、Safari、Opera、IE)。

发生的情况是,当我单击启动模式对话框的按钮时,在显示模式(以及叠加层的淡入)之前,会出现快速“闪烁”,不到半秒。 (在我的速度较慢的电脑上,它更长)。

奇怪的是,在 Firefox 3.5.2 中并没有出现这种情况,但是当我升级到 3.6.3 时,却出现了闪烁。

有什么想法吗?

这是我的代码:

$("#popup").modal({
    onOpen: function (dialog) {
        dialog.data.show();
        dialog.container.show();
        dialog.overlay.fadeIn('fast');
    },
    onClose: function (dialog) {
        dialog.data.hide();
        dialog.container.hide();
        dialog.overlay.fadeOut('fast', function() { $.modal.close(); });
    }
});

I'm using SimpleModal plugin for Jquery and I have a weird problem with Firefox ( other browsers work fine: Chrome, Safari, Opera, IE).

What happens is when I click on the button that launches the modal dialog, before showing the modal (and the fadeIn of the overlay), there is a quick "flicker", less than half a second. (It's longer on my slower PC).

Weird thing is, it didn't happen in Firefox 3.5.2, but when I upgraded to 3.6.3, I got the flicker.

Any ideas?

Here is my code:

$("#popup").modal({
    onOpen: function (dialog) {
        dialog.data.show();
        dialog.container.show();
        dialog.overlay.fadeIn('fast');
    },
    onClose: function (dialog) {
        dialog.data.hide();
        dialog.container.hide();
        dialog.overlay.fadeOut('fast', function() { $.modal.close(); });
    }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

佼人 2024-09-11 19:16:59

如果其他人遇到此问题,解决方案是首先在 onOpen 回调中让叠加层淡入:

$("#popup").modal({
    onOpen: function (dialog) {
        dialog.overlay.fadeIn('fast');
        dialog.container.show();
        dialog.data.show();
    },
    onClose: function (dialog) {
        dialog.data.hide();
        dialog.container.hide();
        dialog.overlay.fadeOut('fast', function() { $.modal.close(); });
    }
});

In case someone else has this issue, the solution is to have the overlay fade in first in the onOpen callback:

$("#popup").modal({
    onOpen: function (dialog) {
        dialog.overlay.fadeIn('fast');
        dialog.container.show();
        dialog.data.show();
    },
    onClose: function (dialog) {
        dialog.data.hide();
        dialog.container.hide();
        dialog.overlay.fadeOut('fast', function() { $.modal.close(); });
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文