Beachten Sie, dass Elemente nicht über die Methoden scrollTound verfügen, wenn Sie ein Element anstelle des vollständigen Fensters scrollen möchten scrollBy. Du solltest:
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;
Sie können auch die window.scrollTound window.scrollBy-Funktionen aller vorhandenen HTML-Elemente auf der Webseite in Browsern nachahmen, die dies nicht nativ unterstützen :
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
});
so können Sie tun:
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);
HINWEIS: Object.definePropertywird empfohlen, da das direkte Hinzufügen von Eigenschaften zu dem prototypeeine schlechte Angewohnheit ist (wenn Sie es sehen :-).