Здравстуйте!
К сожалению не разбираюсь в яваскрипте, только хтмл и цсс. Нужна помощь в доводке скрипта самописного — нужно добавить анимацию прокрутки инерционную такую как jquery easing.
Есть сайт с горизонтальной прокруткой ленты с фотографиями.
http://kospine-ufa.ru
На данный момент реализована прокрутка драгом и скроллом. Нужно сделать ее плавной.
Скрипт писал мой друг, к сожалению сейчас он не может мне с ним помочь.
var x = 60; // координата начала ленты
var stoponclick = false; // флаг блокировки onClick;
//1. ФУНКЦИЯ ПРОКРУТКИ ПЕРЕТАСКИВАНИЕМ МЫШОМ
function Drag() {
var allow = false; // признак разрешения прокрутки перетаскиванием
var mx0; // кордината X мыши в момент нажатия левой кнопки
var dmx = 0; // приращение координаты начала ленты, вычисленное функцией;
var obj = document.getElementById('caseID');
function allowDrag(e) // Встроенная функция разрешения прокрутки при нажатой левой кнопке
{
allow = true;
if(!e) e = window.event;
mx0 = e.clientX;
stoponclick = false;
return false;
}
function startDrag(e) // Встроенная функция собственно прокрутки
{
if(allow){
if(!e) e = window.event;
var mx = e.clientX;
dmx = mx - mx0; // приращение координаты X мыши
obj.style.left = x + dmx + 'px';
stoponclick = true;
}
return false;
}
function stopDrag() // Встроенная функция отмены разрешения прокрутки при отпускании левой кнопки
{
allow = false;
x = x + dmx;
dmx = 0;
document.onmousemove = null;
document.onmousedown = null;
return false;
}
// Управляющие команды запуска встроенных функций
document.onmousedown = allowDrag;
document.onmousemove = startDrag;
document.onmouseup = stopDrag;
}
// -----------------------------------------------------
// 2. Функции прокручивания колесиком мышки
function prEvent(e){
if(!e) e = window.event;
if (e.preventDefault && e.stopPropagation) {
e.preventDefault();
e.stopPropagation();}
else {
e.returnValue = false;
e.cancelBuble = true;}
return false;
}
function stepWheel(e){
var obj = document.getElementById('caseID');
if(!e) e = window.event;
var step;
if (e.wheelDelta) step = e.wheelDelta/120;
else if(e.detail) step = -e.detail/3;
step *= 50; // Марат — уменьшил это значение с 50 до 30, чтобы несколько замедлить прокрутку
x = x + step;
obj.style.left = x + 'px';
prEvent(e);
}
if(document.addEventListener) document.addEventListener('DOMMouseScroll', stepWheel, false);
document.onmousewheel = stepWheel;
// Функция открытия страницы по ссылке из ленты
function openRef(ref) {
if(!stoponclick) document.location.href = ref;
}