Проблема IE7 с функцией сайта jQuery

Я не совсем уверен, что здесь нарушается, на этой странице: http://grandoaks.org/floor.html но, похоже, он не работает только в IE7 (IE8, FF3, Safari, Opera, Chrome, Camino все работали). Когда вы наводите указатель мыши на названия наборов, он должен показать описание, удалив «активный» класс и применив его к соответствующему div, с настройкой таблицы стилей display: none для неактивных div и display: block для активных. Тот же метод применяется к изображениям, но он отлично работает. Любая помощь по этому вопросу будет очень признательна!


person Brad Herman    schedule 15.03.2010    source источник


Ответы (2)


У вас один и тот же идентификатор используется в нескольких местах, я бы решил это, выполнив следующие действия:

измените элемент <li> на rel="" следующим образом:

<ul id="apt-list"> 
  <li rel="unit1" class="selected active"><span>Osprey</span></li> 
...then in #sidebar...
<a ...><img rel="unit1" ... /></a> 

Измените свой jquery, чтобы использовать это:

$("#apt-list li").click(function(){
  $(".selected").removeClass("selected");
  $(this).addClass("selected");
  var id = $(this).attr("rel");
  $("#sidebar img[rel="+ id +"], #"+id).addClass("selected");
});

$("#apt-list li").hover(function(){
  $(".active").removeClass("active");
  $(this).addClass("active");
  var id = $(this).attr("rel");
  $("#sidebar img[rel="+ id +"], #" + id).addClass("active");   
},function(){
  $(".active").removeClass("active");
  $(".selected").addClass("active");
});
person Nick Craver    schedule 15.03.2010
comment
Это решило проблему! Благодаря тонну! Я написал это до того, как получил полное представление о различиях между классами и идентификаторами. Я никогда раньше не использовал атрибут rel, но теперь он, кажется, работает отлично. Удивительно, что IE7 технически правильно отрисовал его, тогда как Firefox и другие браузеры не возражали против многократного использования одного и того же идентификатора. - person Brad Herman; 16.03.2010

Глядя на это в IE 7, я вижу, что классы «активный» и «выбранный» не применяются к другим элементам div # unit #. Я посмотрю сценарий, но там что-то не так.

person Dustin Laine    schedule 15.03.2010
comment
Да, я тоже заметил эту проблему и исправил ее ... Я написал этот сайт в спешке, прежде чем у меня был опыт работы с jQuery ... Теперь нужно уделять больше внимания. Спасибо за помощь! - person Brad Herman; 16.03.2010