javascript - style - ScrollTop no funciona en IE
style scrolltop (3)
La razón por la cual cosas como esta no funcionan en un navegador u otro generalmente se debe a algo como:
window.document.body.scrollTop++;
No se puede simplemente hacer eso porque algunos navegadores tienen ese valor como una cadena, por ejemplo, "5px" y algunos lo tienen como un número.
¿Alguien tiene alguna idea de por qué scrollTop no funciona en IE?
Funciona bien en Chrome, y no sé sobre Firefox. (La idea de este script es tener una página de desplazamiento automático que se restablece una vez que llega al final de la página)
function getheight() {
var myWidth = 0,
myHeight = 0;
if (typeof (window.innerWidth) == ''number'') {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6+ in ''standards compliant mode''
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
var scrolledtonum = window.pageYOffset + myHeight + 2;
var heightofbody = document.body.offsetHeight;
if (scrolledtonum >= heightofbody) {
document.body.scrollTop(0, 0);
}
}
window.onscroll = getheight;
function func() {
window.document.body.scrollTop++;
}
window.document.onmouseover = function () {
clearInterval(interval);
};
window.document.onmouseout = function () {
interval = setInterval(func, 20);
};
var interval = setInterval(func, 20);
Tratar:
document.documentElement.scrollTop = x // where x is some integer
Prueba esto
window.scroll (0,0) // eje x, eje y