У меня есть такая разметка:
<div id="landing">
<p>Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin.</p>
</div>
<header id="header">
<p>Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin.</p>
<p>Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin.</p>
<p>Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin.</p>
</header>
И я пытаюсь сделать так, чтобы при щелчке элемента <p>
в #landing
jQuery прокручивал страницу до элемента #header
.
Судя по документам jQuery, я бы предположил, что это будет так же просто, как:
$('#landing p').click(function() {
$('#header').scrollTop(250);
});
Но это, похоже, вообще не работает. Кроме того, каждый другой поток, который я просматриваю (включая некоторые ответы на мои предыдущие/похожие потоки), который использует метод scrollTop
, похоже, использует более сложный код. Тогда я подумал, может быть, мне нужно иметь что-то вроде этого:
$('#landing p').bind('click', function(e) {
try {
e.preventDefault();
target = this.hash;
$('#header').animate({
scrollTop: 0
}, 150);
} catch (error) {
alert('error - ' + error);
}
});
Но и это не работает. Я не получаю сообщений об ошибках в консоли, но событие просто не запускается. Я протестировал его с помощью простого оператора предупреждения, который отлично работает, просто я не могу заставить его прокручиваться