2013-09-05 2 views
1

Я пытаюсь прокрутить страницу по событию .click. Вот то, что я до сих пор:прокрутите страницу, чтобы перейти на страницу

JQuery:

function scrollToStart() { 
    $("#scrollToStart").click(function() { 
     $("#startHere").animate({ scrollTop: 0 }, "slow"); 
     return false; 
    }); 
} 

HTML:

<a href="#startHere" id="scrollToStart"> 
    <img class="img-center" src="images/get-started.png"/> 
</a> 

Когда я нажимаю, он ничего не делает. Что я сделал не так?

+0

У вас есть jsfiddle? – ckv

+0

, потому что ваша прокрутка всегда на верхней части страницы. try chaning 'scrollTop: 0' to' scrollTop: 500' – roullie

+0

Когда вызывается 'scrollToStart()'. Вы только привязываетесь к обработчику .click, после которого вызывается. Вы должны переместить это в готовый обработчик doc – CodingIntrigue

ответ

2

это должно работать

$("#scrollToStart").click(function(){ 
     $('html, body').animate({ 
     crollTop: $("#startHere").offset().top 
    }, 2000); 

}); 

рабочую скрипку http://jsfiddle.net/tvTUu/

+0

Не работает. Он действует так же, как обычный якорь. –

+0

ну бит, это действительно работает .. :) Я создал скрипт js для этого –

+0

, может быть, вы используете обычный якорь 'href =" # startHere "'? !! в этом случае вам нужно «вернуть false», щелкнув. для 'preventDefault' и event bubbling –

-1
$(document).ready(function(){ 
$("#scrollToStart").click(function() { 
    $("#startHere").animate({ scrollTop: 0 }, "slow"); 
    return false; 
});}); 
1

Используйте

$('html,body').animate({  
scrollTop: $("#divToBeScrolledTo").offset().top;  
}); 

с scrollTop: 0 вы всегда прокручивать в верхней части страницы.

Более подробную информацию вы можете найти здесь (с лайв-Demo):
http://css-tricks.com/snippets/jquery/smooth-scrolling/

0
$(function(){// when dom loaded 
    $("#scrollToStart").click(function(){ 
     $(document.body).animate({ 
      scrollTop: 0 
     }); 
    }); 
}); 

Я работает для меня.

0

Если я правильно понял вопрос, вам нужно прокрутить страницу до верхней позиции события click с эффектом анимации. Я сделал что-то подобное не так давно, вот код JavaScript.

innerAnimationStep = 25; 
innerScrollStep = 1; 

function scrollTopAnimated(scrollStep, animationStep) 
{ 
    try 
    { 
     innerScrollStep = scrollStep; 
     innerAnimationStep = animationStep; 
     scrollTopAnimationStep(); 
    } 
    catch(e) 
    { 
     console.log(e.message); 
    } 
} 

function scrollTopAnimationStep() 
{ 
    try 
    { 
     var jDocument = $(document); 
     if(jDocument.scrollTop() > 0) 
     { 
      jDocument.scrollTop(jDocument.scrollTop() - innerScrollStep); 
      setTimeout(scrollTopAnimationStep, innerAnimationStep); 
     } 
    } 
    catch(e) 
    { 
     console.log(e.message); 
    } 
} 

Просто позвоните scrollTopAnimated, чтобы получить страницу свиток с анимированным эффектом. Надеюсь, это поможет.

Смежные вопросы