Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Доработка скрипта показать\скрыть (https://javascript.ru/forum/jquery/36287-dorabotka-skripta-pokazat%5Cskryt.html)

nule 10.03.2013 15:20

Доработка скрипта показать\скрыть
 
Здравствуйте!
Для показа\скрытия блока по клику использую такой скрипт:
<a id="open-close" href="#block">Подробнее</a>
<div id="block">Контент</div>


$(document).ready(function() {
  $('#open-close').show();
  $('#block').hide();

  $('#open-close').click(function(event) {
    event.preventDefault(); // Для того чтобы при нажатии на ссылку не кидало вверх
    $('#block').slideToggle();
  });
});

Отлично работает, но хотелось бы, чтобы можно было сделать ссылку на развернутый контент. Т.е. например по ссылке /content открывается страница со свернутым блоком, а по /content#block - таже страница, но с развернутым блоком. Кстати, в данном случае при нажатии на ссылку #block не добавляется к адресу страницы, хотя и указан в href.
Спасибо!

danik.js 10.03.2013 16:54

$(document).ready(function() {
  $('#block').hide();
 
  $('#open-close').click(function(event) {
    event.preventDefault(); // Для того чтобы при нажатии на ссылку не кидало вверх
    $('#block').slideToggle();
    location.hash = this.hash;
  });
  
  if (location.hash == '#block') {
    $('#open-close').click();
  }
});

nule 10.03.2013 19:29

Огромное спасибо! Работает. А как сделать, чтобы текст кнопки "Подробнее" сменялся на "Свернуть" в случае, когда блок развернут?

nule 15.03.2013 17:29

Цитата:

Сообщение от danik.js (Сообщение 239819)
$(document).ready(function() {
  $('#block').hide();
 
  $('#open-close').click(function(event) {
    event.preventDefault(); // Для того чтобы при нажатии на ссылку не кидало вверх
    $('#block').slideToggle();
    location.hash = this.hash;
  });
  
  if (location.hash == '#block') {
    $('#open-close').click();
  }
});

Блин, а в IE-то не работает :( Эта зараза location.hash игнорирует. Как быть?


Часовой пояс GMT +3, время: 03:42.