0
내 문제에 대한 여러 가지 해결책을 찾았지만 아무도 작동하지 못합니다. 나는 링크를 클릭하면 탭으로 스크롤을 부드럽게하려고합니다. 그건 완벽하게 작동합니다. 문제는 탭을 가리키는 페이지에 여러 개의 링크가있을 때 탭만 활성화 된 링크 만 작동한다는 것입니다. 따라서 링크를 클릭 할 때 해당 탭이 활성화되어 있지 않으면 링크가 작동하지 않습니다.Smoothscroll이 클릭시 활성화 된 탭을 가져올 수 없습니다.
그래서 내가하려는 것은 링크를 클릭 할 때 탭을 활성화하는 것입니다.
내가 무엇을 가지고 :
<a class="goSmoothly" href="#" data-target="description" onclick="return false">Link to tab1</a>
<a class="goSmoothly" href="#" data-target="specs" onclick="return false">Link to tab2</a>
<ul class="nav-tabs">
<li class="active"><a href="#description" data-toggle="tab">Tab1</a></li>
<li><a href="#specs" data-toggle="tab">Tab2</a></li>
</ul>
$('.goSmoothly').on('click', function(event) {
event.preventDefault();
var target = "#" + $(this).data('target');
$('html, body').animate({
scrollTop: ($(target).offset().top - 150)
}, 1200);
var self = $(this), className = "active";
self.addClass(className).siblings("."+className).removeClass(className);
});
확인을 들으 대신 당신은 당신이 사용하는 대신 선택할 수있는 그
href
속성을 가진 요소가 당신의 명확한 설명을위한 thx! 마지막으로 한 가지만. 'addClass'는 가장 가까운 li 요소에 활성 클래스를 추가하지 않습니다. 그것에 관한 어떤 생각? 가장 가깝게 작동하지 않습니다. – Meules마지막으로 한 가지. "TypeError : $ (...) .offset (...) is undefined"링크를 클릭하면 얻을 수 있습니다. "#"+ $ (this) .data ('target')를 변경할 때 발생합니다. ~ $ (this) .data ('target'); – Meules