Исправлена ​​прокрутка jQuery - PullRequest
2 голосов
/ 05 мая 2009

Страница должна быть прокручена после нажатия на ссылку с идентификатором (пусть это будет #link).

Вот мой код, который не работает :

$(document).ready(function(){
    $("#link").click(function () { 
        $(this).animate({ scrollTop: 2000 }, 'slow'); 
    });
});

Но этот работает , после загрузки страницы он медленно прокручивается вниз страницы:

$(document).ready(function() {
    $('html, body').animate({ scrollTop: 6000 }, 'slow'); 
});

Высота тела 6000px.

Ответы [ 3 ]

3 голосов
/ 05 мая 2009

В первом примере вы устанавливаете scrollTop фактического элемента ссылки, в котором нет ничего для прокрутки. (без переполнения)

$(document).ready(function(){
    $("#link").click(function () { 
        $("body").animate({ scrollTop: 2000 }, 'slow'); 
    });
});

Ее довольно хорошее объяснение https://developer.mozilla.org/En/DOM/Element.scrollTop

2 голосов
/ 05 мая 2009

Похоже, вы пытаетесь оживить 'this', которое будет ссылкой!

Вместо этого вы должны попробовать $ (window) .animate! или, может быть, даже документ, извините, не уверен!

1 голос
/ 05 мая 2009

try $ ('html, body'). Animate для поддержки всех браузеров

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...