[javascript] jQuery에서 요소로 스크롤하는 방법?


Answers

이 코드가 작동하는 내 문제는 페이지로드시 앵커 태그로 이동해야했습니다.

$(window).scrollTop($('a#captchaAnchor').position().top);

이 문제는 앵커 태그뿐만 아니라 모든 요소에서 사용할 수 있습니다.

Question

특정 요소 (branch1은 요소)에 초점을 맞추기 위해 JavaScript에서 다음 코드를 수행했습니다.

document.location.href="#branch1";

하지만 jQuery를 사용하고 있기 때문에 jQuery에서 위 코드를 수행하고 싶습니다. 나는 시도했지만 왜 작동하지 않는지 모르겠다.

$("#branch1").focus();

위의 jquery (focus ()) div는 div에 대해 작동하지 않습니다. 반면에 textbox를 사용하여 동일한 코드를 시도하는 경우,

제발 jQuery를 사용하여 div elemnt에 포커스를 둘 수 있습니까?

감사!




focus () 함수가 요소에서 작동하려면 div에 tabindex 속성이 있어야합니다. 입력 필드가 아니기 때문에이 유형의 요소에서는 기본적으로이 작업이 수행되지 않습니다. tabindex를 -1로 추가하여 탭을 사용하는 사용자가 집중할 수 없도록 할 수 있습니다. 긍정적 인 tabindex를 사용하면 탭을 사용하여 div 요소에 집중할 수 있습니다.

여기 예 : http://jsfiddle.net/klodder/gFPQL/

그러나 tabindex는 Safari에서 지원되지 않습니다.




다음과 같이 jQuery 기능을 확장 할 수있다.

jQuery.fn.extend({
scrollToMe: function () {
    var x = jQuery(this).offset().top - 100;
    jQuery('html,body').animate({scrollTop: x}, 500);
}});

그리고:

$('...').scrollToMe();

쉬운 ;-)




용도

$ (window) .scrollTop ()

창을 항목으로 스크롤합니다.

 var scrollPos =  $("#branch1").offset().top;
 $(window).scrollTop(scrollPos);



Links