Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите с добавлением анимации jquery easing (https://javascript.ru/forum/dom-window/45468-pomogite-s-dobavleniem-animacii-jquery-easing.html)

lcdswat 02.03.2014 12:35

Помогите с добавлением анимации jquery easing
 
Здравстуйте!

К сожалению не разбираюсь в яваскрипте, только хтмл и цсс. Нужна помощь в доводке скрипта самописного — нужно добавить анимацию прокрутки инерционную такую как 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;

}


Часовой пояс GMT +3, время: 00:21.