Всем привет, необходимо плавный скроллинг через jQuery, и именно значения scrollTop нужно изменять, без css transition, потому-что такой плагин странный (Slim scroll). делаю через setInterval, но он грузит как-то сильно процессор, либо постоянный вызовы scrollTop грузят, но в целом все работает:
function interpTo (current, target, deltaTime, interpSpeed) {
if (interpSpeed == 0)
return target;
var dist = target-current;
if (dist*dist < 0.001)
return target;
var deltaMove = dist*deltaTime*interpSpeed;
return current+deltaMove;
}
function scroll(b, t) {
_targer = t;
if (init)
return;
init = true;
var td = setInterval(function() {
var current = b.scrollTop();
scrollVal = interpTo(scrollVal, _targer, 0.01, 4)
b.scrollTop(scrollVal);
}, 4);
}