Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.03.2013, 15:20
Аспирант
Отправить личное сообщение для nule Посмотреть профиль Найти все сообщения от nule
 
Регистрация: 03.11.2011
Сообщений: 42

Доработка скрипта показать\скрыть
Здравствуйте!
Для показа\скрытия блока по клику использую такой скрипт:
<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.
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2013, 16:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$(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();
  }
});
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2013, 19:29
Аспирант
Отправить личное сообщение для nule Посмотреть профиль Найти все сообщения от nule
 
Регистрация: 03.11.2011
Сообщений: 42

Огромное спасибо! Работает. А как сделать, чтобы текст кнопки "Подробнее" сменялся на "Свернуть" в случае, когда блок развернут?
Ответить с цитированием
  #4 (permalink)  
Старый 15.03.2013, 17:29
Аспирант
Отправить личное сообщение для nule Посмотреть профиль Найти все сообщения от nule
 
Регистрация: 03.11.2011
Сообщений: 42

Сообщение от danik.js Посмотреть сообщение
$(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 игнорирует. Как быть?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мелкая доработка скрипта для SVG карты Nitro_Generate Работа 1 22.12.2012 19:58
Срочная доработка скрипта (слайдер) clescenco Работа 1 17.09.2012 12:32
Требуется доработка скрипта nwnet Работа 2 12.09.2012 02:40
Доработка скрипта 1000вмр Ashas_grey Работа 1 26.03.2012 14:34
Доработка скрипта formus Работа 2 06.07.2011 10:08