Bir sayfadaki kaydırma konumunu, kaydırıcıyı tamamen en üste kaydıracak şekilde ayarlamaya çalışıyorum.
Sanırım böyle bir şeye ihtiyacım var ama işe yaramıyor:
(function () { alert('hello'); document.body.scrollTop = 0; } ());
Herhangi bir fikir?
Bir sayfadaki kaydırma konumunu, kaydırıcıyı tamamen en üste kaydıracak şekilde ayarlamaya çalışıyorum.
Sanırım böyle bir şeye ihtiyacım var ama işe yaramıyor:
(function () { alert('hello'); document.body.scrollTop = 0; } ());
Herhangi bir fikir?
Yanıtlar:
Bunun gibi kullanabilirsiniz window.scrollTo():
window.scrollTo(0, 0); // values are x,y-offset
Tam pencere yerine bir öğeyi kaydırmak istiyorsanız, öğelerin scrollTove scrollByyöntemlerine sahip olmadığını unutmayın . Malısı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;
Yerel olarak desteklemeyen tarayıcılarda web sayfasındaki tüm mevcut HTML öğelerine window.scrollTove window.scrollByişlevlerini de taklit edebilirsiniz :
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
});
böylece yapabilirsin:
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);
NOT: Object.definePropertyürüne doğrudan özellik eklemek prototypeçok kötü bir alışkanlık olduğu için teşvik edilir (Gördüğünüzde :-).
... Ya da sadece yerine bodygöre documentElement:
document.documentElement.scrollTop = 0;