IE 在 jQuery fadeIn/fadeOut 方面遇到问题

发布于 2024-09-24 01:57:07 字数 824 浏览 1 评论 0 原文

我正在使用从 document.ready() 调用的以下函数,在 页面。

// Initialize the main menu's rollover behavior.
function initNavMenu(fadeInTime,fadeOutTime){
    $('#top-nav li').append('<div class="hover"></div>');

    $('#top-nav li').hover(
        function(){
            $(this).children('div').fadeIn(fadeInTime);
        },

        function(){
            $(this).children('div').fadeOut(fadeOutTime);
        }).click (function() {
            $('#top-nav li.selected').removeClass('selected');
            $(this).addClass('selected');
    });
}

它在 FF 3.6.9、Chrome、Safari 和 Opera 上运行良好。但在 IE 8(可能还有较低版本)上,当我将鼠标滑过按钮时,会出现丑陋的墨迹效果。淡入淡出后,涂抹效果就会消失。有谁知道这是什么原因造成的?

I'm using the following function, called from document.ready(), to set a fadeIn/fadeOut effect on the top navigation of this page.

// Initialize the main menu's rollover behavior.
function initNavMenu(fadeInTime,fadeOutTime){
    $('#top-nav li').append('<div class="hover"></div>');

    $('#top-nav li').hover(
        function(){
            $(this).children('div').fadeIn(fadeInTime);
        },

        function(){
            $(this).children('div').fadeOut(fadeOutTime);
        }).click (function() {
            $('#top-nav li.selected').removeClass('selected');
            $(this).addClass('selected');
    });
}

It works well enough on FF 3.6.9, Chrome, Safari, and Opera. But on IE 8 (and probably lower versions), I get an ugly, smeared ink effect when I roll over the button. The smeared effect goes away once the fade is done. Anyone know what's causing this?

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

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

发布评论

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

评论(1

末が日狂欢 2024-10-01 01:57:07

只需通过 IE 中的开发工具栏看到,由于淡入淡出效果,控件可见后,它添加了一些不透明的代码。只需通过写来删除这段代码

$('selector').css('attribute', '');
or write 
$('selector').removeAttr('style'); // Removes all inline styles.

希望这会对您有所帮助:)

Just see by Developer toolbar in IE after the control is visible due to fade effect it is adding some code for opacity. Just remove the piece of code by writing

$('selector').css('attribute', '');
or write 
$('selector').removeAttr('style'); // Removes all inline styles.

Hope this will help you :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文