Код Jquery slideDown/slideUp работает только после CTRL+F5?

Эта проблема беспокоила меня уже много часов, и я надеюсь, что кто-нибудь может мне помочь.

У меня есть следующий код, который открывает и закрывает рекурсивное меню UL. Работает везде, кроме IE9. Однако это работает только при обновлении страницы с помощью CTRL+F5. Если я не обновляюсь с помощью CTRL+F5, я получаю кучу ошибок, таких как следующие:

  • SCRIPT5022: Исключение DOM: SYNTAX_ERR (12); (ссылаясь на if (currentLink))
  • SCRIPT5022: Исключение DOM: SYNTAX_ERR (12); (ссылаясь на currentLink.parent().find)

Кто-нибудь знает, что здесь происходит?

    $('.groups').find('li:has(ul)').find('.uitklapTrigger').click(function(){
    var currentLink = $(this);
    if (currentLink.parent().find('ul').first().is(":hidden")){
        currentLink.children('.plmin').html('-');
        currentLink.parent().find('ul').first().slideDown('slow');
    } else {
        currentLink.parent().find('ul').first().slideUp("slow", function(){
            currentLink.children('.plmin').html('+');
        });
    }

    return false;
});

person Hans    schedule 08.01.2013    source источник
comment
в любом случае для вас, чтобы воспроизвести его в FIDDLE?   -  person wirey00    schedule 09.01.2013
comment
Я пытался, но на самом деле слишком много кода, который нужно удалить. Что происходит на нескольких страницах сайта, так это то, что я получаю странные ошибки в простом коде jquery, который обычно работает нормально. Это происходит только в (нескольких) IE9, и мне нужно CTRL+F5, чтобы все снова заработало. Например, $(this).slideUp(slow, function(){ alert('test') }); работает только после ctrl+f5, разрешает только анимацию без обратного вызова oncomplete.   -  person Hans    schedule 09.01.2013
comment
структура под .groups слишком велика? таких элементов несколько? Можете ли вы просто показать один в качестве примера?   -  person wirey00    schedule 09.01.2013
comment
Похоже, ваш код загружается в неправильном порядке. Убедитесь, что все находится в <head>, оберните свой код в $(document).ready и поставьте jquery.js перед всем остальным.   -  person Blazemonger    schedule 09.01.2013
comment
@wirey Есть несколько элементов .groups, но это не может быть проблемой, потому что проблема возникает и на других страницах с простой анимацией.   -  person Hans    schedule 09.01.2013
comment
@Blazemonger Порядок в порядке, сначала jquery, затем локальные js, все в ‹head› и внутри $(document).ready(function(){ ...   -  person Hans    schedule 09.01.2013
comment
Это почти похоже на то, что переменная jquery $ не может использоваться внутри функций jquery, таких как .hover(function(){, за исключением случаев, когда я обновляю с помощью ctrl+f5   -  person Hans    schedule 09.01.2013
comment
Возможно, вы столкнулись с этой проблемой?   -  person Owlvark    schedule 09.01.2013
comment
@Owlvark Только что проверил, но все идентификаторы действительны. В любом случае, как все это может работать после обновления?   -  person Hans    schedule 09.01.2013


Ответы (1)


Ответ ясен. Это было связано с некоторыми настройками IE9. Чудесным образом компьютеры, на которых я тестировал, имели странные настройки браузера (заводские настройки acer по умолчанию). Я сбросил настройки браузера и проблема решилась... Спасибо всем.

person Hans    schedule 21.04.2013