JQuery скрыть / показать с ненулевой продолжительностью не работает в Firefox (но работает в Chrome)

0

Основной код jQuery hide/show ниже не работает в Firefox 29.0 на Ubuntu 12.04 LTS с рабочим столом Unity. Этот точный код работает в Chrome 35.0.1916.114.

При выборе ссылки "Скрыть этот div", FF, похоже, начнет переход. Проверяя использование Firebug, атрибуты div изменяются от

<div id="togglediv" style="display: block;">

в

<div id="togglediv" style="display: block; overflow: hidden; 
 height: 88px; padding: 0px; margin: 0px; width: 1422px; opacity: 1;">

Но ничего больше. Переход на "display: none"; никогда не бывает. Никакие ошибки не попадают в консоль Firebug.

Я просмотрел десятки вопросов SO, но у них, похоже, есть другая проблема, связанная с недолготой hide().

Если продолжительность удалена или изменена на 0, код работает как в FF, так и в Chrome. Почему в FF была бы ненулевая длительность?

EDIT: измените код ниже, чтобы использовать версию CDN для более легкого тестирования. Проблема все еще остается. Даже после обновления до последней версии 2.1.1.

<html>
<head>
  <!-- <script src="/media/js/jquery-1.11.1.js"></script>   -->
  <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
  <style>
    #togglediv {
    background: #cccccc;
    }
  </style>
 </head>

 <body >
  <div style="display: block;" id="togglediv">
    <p>jQuery Test</p>
    <p><a id="hidelink" href="#">Hide this div</a></p>
  </div>
  <div id="bringback">
    <p><a id="showlink" href="#">Bring it back</a></p>
  </div>
  <script type="text/javascript" >
    // Your code goes here.
    $( document ).ready(function() {
      $( "#hidelink" ).click(function( event ) {
        event.preventDefault();
        $( "#togglediv").hide( 500 );  // works in FF if 0 or blank
      });
      $( "#showlink" ).click(function( event ) {
        event.preventDefault();
        $( "#togglediv").show( 500 );  // works in FF if 0 or blank
      });
    });
  </script>
</body>
</html>

EDIT2: FF 29.0 выглядит нормально на ubuntu 12.04.4 под платформой KDE версии 4.8.5. SO, это может быть проблема Ubuntu Unity, а не FF 29.0.

  • 0
    что говорит ваша консоль в chrome?
  • 1
    Я не вижу разницы между Firefox 29.0.1 и Chrome 35.0.1916.114 в Windows 8
Показать ещё 10 комментариев
Теги:
firefox
ubuntu-unity

1 ответ

2

Следуя советам @Viscocent в комментариях выше, я обновил и перезапустил Firefox и Ubuntu. Проблема исчезла. Этот вопрос теперь должен быть повторно отправлен в журнал "Невоспроизводимые результаты". Один извлеченный урок: часто перезагружайте Firefox.

Ещё вопросы

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