2012-08-29 2 views
0

안녕하세요 저는 jQuery를 처음 사용하는데 문제가 있습니다. AJAX 호출을 통해로드 된 페이지에서 맨 위로 스크롤하고 싶습니다. ,맨 위로 스크롤하지 않을 경우

$(document).on('click', '#top_icon', function() { 
    $('html, body').animate({scrollTop: '0px'}, 800); 
}); 

답변

0

이 시도

$(document).on('click', '#top_icon', function() { 
    $('html, body').animate({'scrollTop': '0px'}, 800); 
    return false; 
}); 

scrollTop : (이것이 내가 달성하고자하는 것입니다)

$(document).on('click', '#top_icon', function() { 
    alert('ok'); 
}); 

하지만이 작동하지 않습니다 :

이것은 (테스트) 작동 귀하의 경우에는 undefined입니다.

+0

Jashwant에게 감사하지만 작동하지 않았습니다. – kapantzak

+0

오류가 있으면 확인하십시오. 또한 애니메이트 코드 라인 앞뒤에'console.log'를하십시오. – Jashwant

+0

죄송하지만 새롭고 전에 console.log를 사용하지 않았습니다. 먼저 그걸 검색해야합니다! – kapantzak

0

jQuery에 대해 확실하지 않지만 scrollTop은 CSS 속성이 아니기 때문에 애니메이션 할 수있는 속성의 일부가 아닐 수도 있습니다. 아래로 스크롤 애니메이션, http://jsfiddle.net/pXvQG/12/ 몸을 클릭 : 여기

var startValue = 0; 
var endValue = 0; 
var duration = 800; 
var distance = 0; 
var velocity = 0; 
var step = 0; 
var endTime = 0; 

var animate = function() { 

    var elapsedTime = new Date().getTime() - step; 
    document.body.scrollTop += velocity * elapsedTime; 
    step = new Date().getTime(); 

    if (step > endTime) 
     document.body.scrollTop = endValue; 
    else 
     setTimeout(animate, 15); 

} 

    yourButton.onclick = function() { 

     startValue = document.body.scrollTop; 
     distance = endValue - startValue; 
     velocity = distance/duration; 
     step = new Date().getTime(); 
     endTime = step + duration; 
     animate(); 

    }; 

는 바이올린입니다 :

하지만 당신이 자신을 위해 간단한 애니메이션을 만들 수 있습니다.

+0

Christian 데모가 제대로 작동하지 않는 것 같습니다 .pls가 코드를 다시 검토하고 작업 예제로 업데이트합니다 .. – Lucky

+1

아, 죄송합니다. Chrome에서 코드화했습니다. 파이어 폭스는 scrollTop에서 정말 이상한 것을 가지고 있지만 수정되었습니다. –

+0

파이어 폭스에서 작동하는 덕분에 @ ChristianJørgensen이되었습니다. – Lucky

관련 문제