Кажется, я не могу прокрутить до переменной набора, использую ли я правильный синтаксис?scrollTop не прокручивается до позиции
var offset = $(".box", this).offset().top;
$(window).animate({scrollTop:offset}, 500);
Кажется, я не могу прокрутить до переменной набора, использую ли я правильный синтаксис?scrollTop не прокручивается до позиции
var offset = $(".box", this).offset().top;
$(window).animate({scrollTop:offset}, 500);
Вы не можете прокручивать . Вы не можете анимировать окно scolling (спасибо Kato). Попробуйте следующее:window
var offset = $(".box", this).offset().top;
$("html,body").animate({scrollTop:offset}, 500);
Следующие действия будут работать как для IE, так и для других браузеров.
$('body,html').animate({scrollTop: offset}, 500);
offset(). Top - это расстояние относительно документа. Поэтому, если документ прокручивается полностью, анимация неточна.
$ ("body"). Animate ({scrollTop: offset + $ ("body"). ScrollTop()}, 500);
Нет, смещение jQuery() относительно документа, независимо от положения прокрутки. –
В вашем случае это то же самое. offset + scrolltop === position. Но позиция - это чистая минуса :-) – terjeto
я в конечном итоге пришлось использовать позицию(), а не смещение
var offset = item.position().top;
$("html, body").animate({scrollTop:offset}, 500);
И читая документы он предложенные замечания, лучше использовать $ («HTML, тело») для кросс-браузеров
$ (окно) .scrollTop() [отлично работает] (http://jsfiddle.net/katowulf/w43T6/). Вы имели в виду сказать, что вы не можете анимировать прокрутку окна? – Kato
@ Като: Я стою исправлено. Да, я хотел сказать, что вы не можете анимировать прокрутку окна. Исправлена. ;) –
Полезно знать, поскольку я никогда не пробовал анимированный подход. Мне нравится решение html, body (это оживляет его дважды в реальных браузерах? Стоит ли делать некоторые нюансы браузера, чтобы избежать двойного вызова?) – Kato