scrollTop - странные результаты

0

У меня есть div, который я закодировал для прокрутки "автоматически" с помощью scrollTop. Я получаю некоторые странные результаты... Каждый раз, когда я нажимаю кнопку, прокрутка переключается туда и обратно (см. JsFiddle, потому что я уверен, что не очень хорошо объясняю себя. Если вы можете сказать мне, что происходит, и не только, как это исправить, я был бы признателен. Я сделал это так: (кстати, на моем фактическом сайте у меня не будет кнопки, я на самом деле буду запускать i++ с событиями клавиатуры),

$(function () {

  var i = 0;

  $('#submit').click(function () {

      i++;

      if (i > 0) {
         $('#textOne').scrollTop($('#s3').offset().top);
      }
  });

});

http://jsfiddle.net/bdenzer/Yu5Jz/7/

Теги:
scrolltop

1 ответ

0
Лучший ответ

Подумайте о том, что offset.top означает интуитивно. Все это дает вам относительную верхнюю позицию этого элемента из верхней части документа. Поэтому, когда вы нажимаете один раз, относительная высота этого элемента сверху документа уменьшается до 0! То, что вы хотите установить для прокрутки верхней части div, является разницей между scrollTop внешнего div и scrollTop элемента $ ('# s3').

Ещё вопросы

Сообщество Overcoder
Наверх
Меню