Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Доработка скрипта показать\скрыть


Автор: nule 10.3.2013, 14:23
Здравствуйте!
Для показа\скрытия блока по клику использую такой скрипт:
Код

<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.
Спасибо!

Автор: Amphiluke 10.3.2013, 16:18
Просто проверяйте свойство location.hash по событию "load". Если фрагмент содержит id сворачиваемого элемента, то разворачивайте и прокручивайте к нему страницу.
Например
Код

$(window).load(function () {
    var block = $(location.hash);
    if (block.length) {
        block.show().get(0).scrollIntoView();
    }
});

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)