0
안녕하세요 여러분! 현재, (http://bit.ly/1eGCShX)에서 작업하고있는 사이트에서 각 div의 모든 항목을 아래로 스크롤해야합니다. 그러나 마지막 항목을 다시 클릭하면 다시 스크롤되지 않습니다. 맨 위 (이전 div 대신)까지 줄곧 내가 달성하려고하는 것입니다. 각 div로 스크롤 한 후 ScrollTop 기능을 반복하는 방법을 반복 하시겠습니까?
그러나, 나는 당신이 한 번 완료하고 다시 첫 번째를 클릭 스크롤 경우 중단 된 부분은 별 있기 때문에, 다시 첫번째 사업부에서 시작 자체를 다시 이상 반복해야합니다. 나는 이것을 잠시 망설이고 그것을 얻을 수 없었다. 어떤 도움을 친절하게 감사합니다! 여기에 내 JS가있다.
$('div.section').first();
$('a.display').on('click', function(e) {
e.preventDefault();
var t = $(this).text(),
that = $(this);
if ($('.currentPanel').next('div.section').length > 0) {
var $next = $('.currentPanel').next('.section');
var top = $next.offset().top;
$('.currentPanel').removeClass('currentPanel');
$(function() {
$next.addClass('currentPanel');
$('html, body').animate({scrollTop: $('.currentPanel').offset().top }, 'slow');
});
} else if ($('.currentPanel').prev('div.section').length > 0) {
var $prev = $('.currentPanel').prev('.section');
var top = $prev.offset().top;
$('.currentPanel').removeClass('currentPanel');
$(function() {
$prev.addClass('currentPanel');
$('html, body').animate({scrollTop: $('.currentPanel').offset().top }, 'slow');
});of
}
});
물론 JSFiddle을 사용하면 더 쉽게 작업을 수행 할 수 있습니다. 나는 단순화 된 버전을 만들었습니다.
http://jsfiddle.net/dylanopet/ADsKH/9/
다시 말하지만,이 읽을 수 있도록 시간을 내 주셔서 감사하고 모든 긍정적 인 주 바랍니다. 당신이
var $prev = $('.section').eq(0);
에
var $prev = $('.currentPanel').prev('.section');
변화 그것은 당신이 이전 요소로 이동하고 싶은 기능을 이야기했다가
아, 와우! 확실히, 옳다고 생각하지 않고 eq() 선택기를 사용하는 방법을 알지 못했습니다! 나는 지금 그것에 대해 더 연구하고 있으며 인덱스 번호를 선택하는데 매우 유용하게 들린다. 고맙습니다. – DoPeT