2014-01-20 2 views
0

У меня есть следующий код. На данный момент он только прокручивает высоту переменной.Прокрутите до следующего знака

http://jsfiddle.net/tmyie/gF6U3/1/

$('.col100').click(function(e){ 
    e.preventDefault(); 
    var H = $('.col100').outerHeight(); 
    $('html, body').animate({scrollTop: H}, 200); 
}); 

Вопросы:

  • Почему только прокрутке один раз?
  • Могло ли это быть лучше реализовано: так, чтобы каждый свиток прокручивался через каждого брата?

ответ

3

Вы прокручиваетесь в одно и то же положение каждый раз. Самый простой бы вычислить смещение позиции в следующем окне:

http://jsfiddle.net/B472g/

$('.col100').click(function(e){ 
    e.preventDefault(); 
    var H = $(this).next().offset().top; 
    $('html, body').animate({scrollTop: H}, 200); 
}); 

Обратите внимание, что это не обрабатывает, что делать в последний ящик .. зависит от того, как вы хотите реализовать.

+0

Да, безусловно, правильный путь – FreshPro

0

использование этого - http://jsfiddle.net/gF6U3/3/

$('.col100').click(function(e){ 
    e.preventDefault(); 
    var H = $(this).next('.col100').offset().top; 
    $('html, body').animate({scrollTop: H}, 200); 
}); 
Смежные вопросы