У меня есть различные массивы и ограничения что бы работала нормально но тут самая выжимка без лишних вещей.
Вопрос в том как устроить плавную анимацию дальнейшей прокрутки.
function down(evt) {
evt = (evt || event);
yDown = evt.pageY;
tDown = new Date().getTime();
}
function up(evt) {
evt = (evt || event);
time = new Date().getTime() - yDown;
y = yDown - evt.pageY;
speed = (y/time);
}
function scroll(){
//??
document.getElementById("Scroll").style.marginTop = marginTop - speed*100;
speed = 0.9*speed;
//??
}
Вопрос как правильно сделать цикл выполнения scroll() до тех пор пока speed не станет 0 .
С самого начала у маня был setIterval который работал всё время.
document.getElementsByTagName("body")[0].ready = (setInterval('scroll()', 41)
По тому же принципу можно постоянно чистить этот интервал если speed < 0 и запускать заново на up(evt).
Попробовал зациклить setTimeout() вызовом в конце.
function scroll(){
document.getElementById("Scroll").style.marginTop = marginTop - speed*100;
speed = 0.9*speed;
if(speed > 0)setTimeout('scroll();',41)
}
Придумал даже такой ужас, но так и не рискнул проверить работоспособность.
for (var i=0;i <inumber;i++){
setTimeout('scroll();',41*i)
};
Как лучше делать подобную плавную анимацию?
Задача для мобильного браузера. По этому как загрузить его как можно меньше?