jQuery Sample

[jQuery] 동일 페이지 내에서 부드럽게 스크롤시키기

동일 페이지 내에서 링크를 클릭했을 때 부드럽게 스크롤되도록 하려면 다음 jQuery 스크립트를 사용할 수 있습니다.

$(function() {
$('a[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
// Source: css-tricks

여기에서 데모를 볼 수 있습니다.

또는 w3schools에서 제공하는 스크립트를 사용할 수도 있습니다. 자세한 스크립트와 데모는 이 글을 참고해보시기 바랍니다.


워드프레스에서 jQuery 스크립트를 적용하려면 Enqueue를 시켜주는 과정이 필요합니다(참고).

워드프레스 테마에서 부드럽게 스크롤(Smooth Page Scrolling)하는 기능을 제공하는 경우도 있습니다. 예를 들어, 다목적 워드프레스 테마 중 하나인 Bridge에서 원페이지(One-page)로 구성할 경우 부드럽게 스크롤되는 기능을 이용할 수 있습니다(참고). X 테마데모 페이지에서도 이와 같은 스크롤 기능을 확인할 수 있습니다.

테마에서 부드럽게 스크롤 기능을 지원하지 않는 경우 위의 스크립트를 복사하여 js 파일로 저장한 다음, 함수 파일에 js 파일을 후크(Enqueue)시키면 동일한 효과를 얻을 수 있습니다. (참고: 워드프레스에서는 $jQuery로 바꾸어야 제대로 작동합니다.)



기부를 통해 이 블로그를 후원하실 수 있습니다.
워드프레스 설치/제작/문제해결이 필요한 경우 서비스(유료)를 요청해주세요.