отображение / скрытие jquery предотвращает открытие сайта в safari

#jquery #safari #show-hide

#jquery #safari #показать-скрыть

Вопрос:

Не очень опытный здесь. но нужно завершить мой веб-сайт. Моя проблема в том, что jquery, похоже, не позволяет моему сайту открыться в safari в первый раз. проблема, по-видимому, заключается в функции show и hide div, любая помощь была бы высоко оценена. http://www.designactivists.com/sem_4_2011/barebones / — это ссылка. код выглядит следующим образом. после удаления сайт открывается идеально.

 <script language="javascript" src="jquery-1.5.2.min.js"></script>
<script language="javascript">
 $(document).ready(function() {
      $('#toggleButton').click(function() {
           if ($('#navbar').is(":hidden"))
           {
                $('#navbar').slideDown("slow");
           } else {
                $('#navbar').slideUp("slow");
           }
           return false;
      });
 });
 </script>
  

Комментарии:

1. Safari …. хм, пахнет как известная проблема. Попробуйте использовать $(window).load(функция() …

2. Или, возможно, попробуйте также $ (‘#ToggleButton’).live(‘click’, функция(){ …

3. Спасибо roXon за быстрый ответ. к сожалению, это не сработало. не могли бы вы предложить какие-либо альтернативы. я потратил недели, пытаясь найти решение.

4. Странно, у меня была такая же проблема с Safari, и загрузка окна решила мою проблему. Теперь я мобильный. Когда я вернусь домой, я посмотрю на это.

5. К вашему сведению, я использую mobile safari 533.1, и отсюда страница не откроется ни после дополнительных обновлений

Ответ №1:

Ключевое слово If IS — это проблема, которой вы могли бы достичь с помощью следующего кода:

 $('#toggleButton').click(function(e) {
   e.stopPropagation();
   $('#navbar').slideToggle('slow');
});
  

К вашему сведению: также удалите href =»#» из кнопки переключения. Вместо этого используйте href=»javascript:void(0);». Это не должно выводить пользователя на первое место при нажатии на ссылку.