Open jaywcjlove opened 10 years ago
Still have a problem.
Did my own implementation. There can be some optimization tricks. Beside, it should work only on scroll to bottom.
function scrollTo(docEl, to, duration) {
let t0 = Date.now();
const diff = (to - docEl.scrollTop);
const speed = diff / duration;
const interval = setInterval(() => {
const t1 = Date.now();
const delta = t1 - t0;
docEl.scrollTop += (speed * delta);
if (to - docEl.scrollTop <= 0) {
docEl.scrollTop = to;
clearInterval(interval);
return;
}
t0 = t1;
}, 0);
}
scrollTo(docEl, docEl.scrollTop + top, duration);
Mac osx 10.9.4 chrome version 37.0.2062.94 chrome browser zoom, scroll failure.