Я пытаюсь создать сайт из div, которые действуют как страницы. Таким образом, есть несколько div с минимальной высотой 100% окна браузера друг над другом. Я пытаюсь заставить работать навигацию, чтобы пользователь мог прокручивать следующий div с помощью колесика мыши. Я нашел этот полезный фрагмент кода:
http://jsfiddle.net/Mottie/Vk7gB/
$('#nav').onePageNav();
var $current, flag = false;
$('body').mousewheel(function(event, delta) {
if (flag) { return false; }
$current = $('div.current');
if (delta > 0) {
$prev = $current.prev();
if ($prev.length) {
flag = true;
$('body').scrollTo($prev, 1000, {
onAfter : function(){
flag = false;
}
});
$current.removeClass('current');
$prev.addClass('current');
}
} else {
$next = $current.next();
if ($next.length) {
flag = true;
$('body').scrollTo($next, 1000, {
onAfter : function(){
flag = false;
}
});
$current.removeClass('current');
$next.addClass('current');
}
}
event.preventDefault();
});
Но вы можете видеть, что есть проблема, когда содержимое длиннее окна браузера. Я хотел бы, чтобы это работало так, чтобы, если текущий div длиннее, чем прокрутка окна браузера, работала нормально, но она должна останавливаться в нижней части div, а затем в следующий раз прокручиваться до следующего div. Есть ли способ сделать это?
Я надеюсь, что это имеет какой-то смысл..
Спасибо,
-Микко