2014-10-04 6 views
0

Chrome에서이 기능이 작동하지 않는 것으로 나타났습니다. 나는 (데모에서 작동) 수정 온라인을 발견하지만 난 어떤 이유로 동작하지 않습니다 : 여기에jQuery ScrollTo Chrome Fix

인 코드 내가 가진 :

$('#button-top').bind('click', function(e) { 
    try { 
     e.preventDefault(); 
     target = this.hash; 
     $('html, body').scrollTo(target, 150); 
    } catch (error) { 
     alert('error - ' + error); 
    } 
}); 

는 여기에, 도움이되는 경우 내가 짓고 있어요 사이트에 링크 (페이지의 오른쪽 하단에있는 링크를 참조하십시오) :

http://www.mattpealing.co.uk/_dev/

답변

2

jquery.scrollTo의 이전 버전 (1.4.2)을로드하고 있습니다. latest version 1.4.13으로 변경하면 작동합니다. 주석의 바이올린을보십시오.

+0

그리고 여기에 일하는 바이올린 : http://jsfiddle.net/072h7hsg/ –

+0

이것은이 질문에 대한 가장 논리적 인 답변 인 것 같습니다. 그러나이 플러그인의 사용은 부적절하다고 생각합니다. –

+0

완벽한 감사합니다! – pealo86

0

JQuery와는 scrollTo() 기능이 없습니다. 그러나 그것은 scrollTop(position) 기능을 가지고 있습니다.

이 작동 것이다 (나는 당신 (150) 무엇을 의미하는지 잘 모르겠어요) : 당신이,이 (150ms의의 애니메이션 속도) 일을 할 것입니다 원하는 애니메이션의 경우

$('#button-top').bind('click', function(e) { 
    try { 
     e.preventDefault(); 
     target = this.hash; 
     $('html, body').scrollTop(150); 
    } catch (error) { 
     alert('error - ' + error); 
    } 
}); 

:

$('#button-top').bind('click', function(e) { 
    try { 
     e.preventDefault(); 
     target = this.hash; 
     $('html, body').animate({ 
      scrollTop: 0 
     }, 150); 
    } catch (error) { 
     alert('error - ' + error); 
    } 
}); 
+0

하지만 그는 https://github.com/flesler/jquery.scrollTo의 jquery.scrollTo 라이브러리를 포함하고 있습니다. –

+0

내 잘못, 나는 그것을 알아 차리지 못했다. 문제는 네이티브 Jquery가 원하는 것을 수행 할 때 라이브러리를 사용하는 이유입니다. –

+0

네, 대신'animate' 메소드를 사용했습니다. 그럼. –