IE имеет проблемы с jQuery fadeIn / fadeOut - PullRequest
1 голос
/ 14 сентября 2010

Я использую следующую функцию, вызванную из document.ready (), чтобы установить эффект fadeIn / fadeOut для верхней навигации этой страницы.

// 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 (и, возможно, в более ранних версиях) при наведении на кнопку появляется эффект размазанных чернил. Размазанный эффект исчезает, когда затухание закончено. Кто-нибудь знает, что вызывает это?

1 Ответ

1 голос
/ 14 сентября 2010

Просто посмотрите на панель инструментов разработчика в IE после того, как элемент управления виден из-за эффекта затухания, он добавляет некоторый код для прозрачности.Просто удалите часть кода, написав

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

Надеюсь, это поможет вам:)

...