jQuery 'show () и hide () не работают в IE8 (при использовании отладчика IE код неожиданно работает)

0

У меня есть HTML и JavaScript, чтобы показать и скрыть div на основе выбора в выпадающем списке.

JavaScript выглядит следующим образом:

$('.type-of-display-group').hide();
$('#six-graphs').show();
$('#display-type').change(function () {
    $('.type-of-display-group').hide();
    $('#' + $(this).val()).show();
});

HTML выглядит следующим образом:

<select class="form-control" id="display-type">
    <option value="six-graphs">Six graphs</option>
    <option value="sliderFrame">Carousel</option>
</select>

<div id="six-graphs" class="type-of-display-group">
    [CODE FOR SIX GRAPHS]
</div> <!-- End six graphs display-->
<!-- The div for the carousel-->
<div id="sliderFrame" class="type-of-display-group"> 
    [CODE FOR CAROUSEL]
</div><!-- End of carousel -->

Смотрите этот скрипт, чтобы увидеть код в действии.

Таким образом, код работает в Firefox, но он не работает в IE8. Случается, что оба div отображаются друг над другом (и я вижу сломанный сигнал в левом нижнем углу). Когда я отлаживаю скрипт с помощью F12, а затем использую отладчик, код внезапно работает...

У кого-нибудь есть другой способ использования функций show() и hide() jQuery, чтобы я мог использовать этот код в IE8?

  • 6
    Я не вижу этого в опубликованном вами коде, но стоит упомянуть, что console объект отсутствует в IE8, если инструменты разработчика не открыты. Вы используете console где-нибудь случайно?
  • 2
    «Когда я отлаживаю скрипт с помощью F12, а затем использую отладчик, код неожиданно работает ...» Вы уверены, что у вас где-то не спрятано console.log ()?
Показать ещё 9 комментариев
Теги:
internet-explorer-8

1 ответ

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

Как ajp15243, Kevin B, satpal и Spudley любезно заметили в комментариях console.log можно использовать только при отладке в Internet Explorer. Когда я удалил один console.log я запустил готовый документ в другом файле JavaScript и забыл, код работал как шарм.

Невероятно, что этот материал занял меня весь день.

  • 0
    более того - console.log не должен быть фактически ИСПОЛЬЗОВАН, чтобы вызвать разрыв скрипта под IE. Даже если он существует в каком-то операторе IF, который не выполняется, сценарий сломается под IE.

Ещё вопросы

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