2017-03-02 2 views
1

을 함수로 사용하고 $$('DIVELEMENT')[0].click();을 사용하여 클릭을 트리거합니다. 클릭 기능은 성공적으로 실행되지만 특정 요소에 대한 스크롤은 실패합니다. 여기 내 코드는 다음과 같습니다방아쇠 클릭 후 스크롤이 작동하지 않습니다.

$$('a[href="#' + tab_id + '"]')[0].triggerEvent('click'); 
$$('.em-details-tabs')[0].scrollTo(); 

답변

0

scrollTo() 요소는 window 개체에서만 사용할 수 있으며, 그것은 또한 두 PARAMATERS 받아 들인다; xy 위치.

이 문제를 해결하려면 window에서 jQuery의 scrollTop() 메서드를 사용하고 필요한 요소의 위치를 ​​y으로 지정하십시오.

$$('a[href="#' + tab_id + '"]')[0].triggerEvent('click'); 
$$(window).scrollTop($$('.em-details-tabs').offset().top); 

Working Example

다른 방법이 효과가 사용자에게 명백한 수 있도록 스크롤 애니메이션을 만들기 위해이 논리를 수정할 수 있습니다 :이 시도

$$('html, body').animate({ 
    scrollTop: $$('.em-details-tabs').offset().top 
}, 500); 

Working Example

+0

그것의 작업, 그러나 두 번 누르기가 필요합니다. 클릭 한 번만 클릭하면 탭이 열립니다 (클릭 트리거가 발사 됨). 두 번째 시간 함수 호출이 해당 시간으로 이동합니다 (Scrolll) 적절한 위치로 이동합니다. , – Monarch1

+0

나는 그것이 일어나는 것을 보지 못했다. 위의 바이올린 예제를 수정하여 동작을 표시 할 수 있습니까? –

+0

프로토 타입 js를 사용하고 있으며 모든 스크립트는 – Monarch1

관련 문제