Как отцентрировать содержимое на странице при разворачивании аккордеона?

  • 3 Ответов
  • 100 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

fireman

  • ***
  • 46
  • 0
  • в цель...
Доброго времени суток?
На странице есть аккордеон (если важно то это SP Accordion module). При раскрытии пункта аккордеона поле с содержимым раскрывается естественно вниз и частично уходит за пределы экрана. А можно ли сделать так, чтобы вся страница отыграла вверх, отцентрировав раскрытое поле?

Вот на этой странице хорошо представлен данный эффект.
http://www.tecsa.ru/catalog/equipment/kolerovochnoe-oborudovanie/

Буду признателен за ответы по делу!

*

AlekVolsk

  • ********
  • 6301
  • 336
в вашем примере на клик на заголовок аккордеона повешена js-функция, которая это делает, разберите ее и примените под себя
Код: javascript
function() {
  var $this = $(this),
    parentNode = $this.closest('li');
  if ($this.hasClass('active')) {
    $this.siblings('ul').slideUp(duration);
    $this.removeClass('active');
    parentNode.removeClass('active');
    $.removeCookie('rootSectionID');
  } else {
    var deactiveEl = $this.closest('li').siblings();
    $this.siblings('ul').slideDown(duration, function() {
      $('html, body').animate({
        scrollTop: parseInt($this.offset().top) - 50
      }, 500);
    });
    $this.addClass('active');
    parentNode.addClass('active');

    deactiveEl.children('ul').slideUp(duration);
    deactiveEl.children('.toggle').removeClass('active');

    $.cookie('rootSectionID', parentNode.data('section'), {
      expires: 7
    });
  }
}

*

AlekVolsk

  • ********
  • 6301
  • 336
вам должен быть интересен именно этот момент:
Код: javascript
      $('html, body').animate({
        scrollTop: parseInt($this.offset().top) - 50
      }, 500);

*

fireman

  • ***
  • 46
  • 0
  • в цель...