2011-12-25 3 views
0

Прямо сейчас, Я используюкак прокручивать вниз, но не мгновенно?

window.scrollTo('#body') 

для прокрутки в верхней части страницы, но ее довольно мгновенным и выглядит странно. Итак, мне нужна функция, которая прокручивается вверху после нажатия кнопки внизу, но не мгновенно.

ответ

1

Использования одушевленного Jquery было бы наиболее прямым способом сделать это. Но в случае, если вы хотите придерживаться чистого JS, вы можете сделать:

function scrollUp() { 
    window.scrollBy(0, -10); // change this '10' as needed to control the smoothness of the scroll 
    if(window.pageYOffset > 0) setTimeout(scrollUp, 10); 
} 

scrollUp(); 
1

почему не использовать JQuery

$ ('тело') анимировать. ({ScrollTop: 0});

+0

Bhuhan Я никогда не использую JQuery вы можете сказать мне, как использовать его. –

+0

просто включают в заголовке тега, а затем включить код, который я дал в отдельном теге скрипта –

+1

jquery это очень хорошая библиотека, которая делает больше и пишет меньше. делает работу большого javascript в нескольких строках кода –

1

ли что-то подобные пару дней назад, и искал некоторое время для легкого, пока tweeked решения:

кодом является частью из проекта .net, но так как вы помечены JavaScript-событие я думал, что вставить его также. Он запускается после панели обновления.

<script type="text/javascript"> 
// <![CDATA[ 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 

    prm.add_endRequest(resetPosition); 

    function resetPosition() { 
     //prm._scrollPosition.y = 0; 
     //window.scrollTo(0, 0); 
     //$(window).scrollTop(); 
     $("html, body").animate({scrollTop: 0}, 100); 
    } 
// ]]> 
</script> 

Так что для нажатия кнопки:

$(function(){ 
    $("#myButton").click(function(){ 
     $("html, body").animate({scrollTop: 0}, 200); 
    }); 
}); 
Смежные вопросы