Доработка скрипта скроллинга меню
Есть скрипт
$(document).ready(function() {
//Scroll the menu on mouse move above the #menuwrap layer
$('#menu').mousemove(function(e) {
if(e.layerY>0){
var windowH = $('#menuwrap').height();
var menuH = $("#menu").height();
var coef = menuH / windowH;
var mTop = Math.round((-e.layerY + window.pageYOffset) * coef) + e.layerY – window.pageYOffset ;
$('#menu').animate({top: mTop}, { queue:false, duration:500});
}
});
});
Стоит здесь www.studio-moda.ru/
Требуются добавить inactive margin, т.е. расстояние от верхнего края, на котором скролла не происходит.
Что-то похожее здесь http://www.htmldrive.net/items/show/473/a-Vertical-Scrolling-Menu-with-CSS3-and-jQuery (скроллится по другому, но неактивный отступ есть)
function enable(){
// height of area at the top at bottom, that don't respond to mousemove
var inactiveMargin = 100;
// Cache for performance
var wrapperWidth = wrapper.width();
var wrapperHeight = wrapper.height();
// Using outer height to include padding too
var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
//When user move mouse over menu
wrapper.mousemove(function(e){
var wrapperOffset = wrapper.offset();
// Scroll menu
var top = (e.pageY – wrapperOffset.top) * (scrollableHeight – wrapperHeight) / wrapperHeight – inactiveMargin;
if (top
top = 0;
}
wrapper.scrollTop(top);
});
}