Проблема с jQuery hide () при использовании Firefox

0

У меня проблема с функцией hide() на странице, которую я делаю. На данный момент выбранный слой div не скрывается.

Все отлично работает в Safari и Chrome, но, к сожалению, не в Firefox :-(

Страница здесь в контексте: http://www.upreach.org.uk/undergraduates/partners.php и здесь мой код:

$(document).ready(function(){
        $('div.partner-employers').not('div#start').hide();
        $("a.employers").click(function(){
            $("a.employers").css("font-weight", "normal");
            $(this).css("font-weight", "bold");
            var myelement2 = $(this).attr("href")
            $(myelement2).fadeIn("fast");
            event.preventDefault();
            $(".partner-employers:visible").not(myelement2).hide();
        });
}); 

... и HTML:

<a href="#1" class="employers">1</a><br/>
<a href="#2" class="employers">2</a><br/>
<a href="#3" class="employers">3</a><br/>

<div class="partner-employers" id="1">Content for 1</div>
<div class="partner-employers" id="2">Content for 2</div>
<div class="partner-employers" id="3">Content for 3</div>

Заранее благодарим за любую помощь, которую вы можете дать...

Теги:

3 ответа

5
Лучший ответ

Вы используете неопределенную переменную event, поэтому код выходит из строя до того, как будет выполнена последняя строка. В IE это определено в объекте window, но не в большинстве других браузеров.

Определите параметр event в сигнатуре функции:

$("a.employers").click(function(event){
  • 0
    Отлично, это исправило проблему с первой попытки!
0

Я бы просто сделал:

$('.partner-employers').hide();
$(myelement2).fadeIn("fast");
0

измените этот $(".partner-employers:visible").not(myelement2).hide();

в этот $(".partner-employers:visible").not("#"+myelement2).hide();

  • 0
    myelement2 уже будет #1 , #2 или #3 .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню