我有一个带有 overflow:scroll
的 div,现在我想以编程方式向下滚动该 div。 Zepto.js 可以实现这一点吗?
最佳答案
Zepto 不直接提供 API,但可以从较低级别的 DOM 访问它。
var $el = $('#scrolling-el');
var el = $el[0]; /* Actual DOM element */
/* Scroll to bottom */
el.scrollTop = el.scrollHeight - $el.height();
/* Scroll to top */
el.scrollTop = 0;
动画滚动将是使用setTimeout
的过程。您可以编写一个快速的 Zepto 插件。这是一个粗略的例子:
$.fn.scrollToBottom = function(duration) {
var $el = this;
var el = $el[0];
var startPosition = el.scrollTop;
var delta = el.scrollHeight - $el.height() - startPosition;
var startTime = Date.now();
function scroll() {
var fraction = Math.min(1, (Date.now() - startTime) / duration);
el.scrollTop = delta * fraction + startPosition;
if(fraction < 1) {
setTimeout(scroll, 10);
}
}
scroll();
};
关于scroll - 如何使用 Zepto.js 滚动 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802596/