Lưu ý rằng nếu bạn muốn di chuyển một yếu tố thay vì toàn bộ cửa sổ, các yếu tố không có các phương pháp scrollTo
và scrollBy
. Bạn nên:
var el = document.getElementById("myel"); // Or whatever method to get the element
// To set the scroll
el.scrollTop = 0;
el.scrollLeft = 0;
// To increment the scroll
el.scrollTop += 100;
el.scrollLeft += 100;
Bạn cũng có thể bắt chước các chức năng window.scrollTo
và window.scrollBy
cho tất cả các yếu tố HTML existant trong trang web:
Object.defineProperty(HTMLElement.prototype, "scrollTo", {
value: function(x, y) {
el.scrollTop = y;
el.scrollLeft = x;
},
enumerable: false
});
Object.defineProperty(HTMLElement.prototype, "scrollBy", {
value: function(x, y) {
el.scrollTop += y;
el.scrollLeft += x;
},
enumerable: false
});
vì vậy bạn có thể làm:
var el = document.getElementById("myel"); // Or whatever method to get the element, again
// To set the scroll
el.scrollTo(0, 0);
// To increment the scroll
el.scrollBy(100, 100);
LƯU Ý: Object.defineProperty
được khuyến khích, vì việc thêm thuộc tính trực tiếp vào prototype
là một thói quen phá vỡ xấu (Khi bạn thấy nó :-).
Nguồn
2017-07-21 14:41:27
cảm ơn bạn verymuch – yussan