Wie scrollintoview center element horizontal im alten browser?
Posted: 11 Aug 2025, 08:07
Ich entwickle eine Webanwendung für alte SmartTVs. Ich verwende Scrollintoview Code in JavaScript und verwenden Block: "Center" . Es funktioniert gut bei so vielen Smart -TVs, aber bei einigen alten Fernsehens nicht gut. Ich habe es mit einem anderen Weg gemacht. < /P>
Dies ist mein Code. < /P>
Ich habe es auf diese Weise versucht, aber es funktioniert nicht im Chrome -Webbrowser.
function scrollElementVerticallyCenter(element) {
if (!element) return;
var elementTop = element.offsetTop;
var parent = element.offsetParent;
while (parent) {
elementTop += parent.offsetTop;
parent = parent.offsetParent;
}
var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
var elementHeight = element.offsetHeight || 0;
var scrollTop = elementTop - (viewportHeight / 2) + (elementHeight / 2);
if(scrollTop < 0) scrollTop = 0;
if(document.documentElement && document.documentElement.scrollTop !== undefined){
document.documentElement.scrollTop = scrollTop;
}
if(document.body){
document.body.scrollTop = scrollTop;
}
}
< /code>
Ich brauche eine alte Lösung aus JavaScript 1.5 für diese alten Smart -TV -Geräte.>
Dies ist mein Code. < /P>
Code: Select all
element.scrollIntoView({ block: "center", });
Ich habe es auf diese Weise versucht, aber es funktioniert nicht im Chrome -Webbrowser.
function scrollElementVerticallyCenter(element) {
if (!element) return;
var elementTop = element.offsetTop;
var parent = element.offsetParent;
while (parent) {
elementTop += parent.offsetTop;
parent = parent.offsetParent;
}
var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
var elementHeight = element.offsetHeight || 0;
var scrollTop = elementTop - (viewportHeight / 2) + (elementHeight / 2);
if(scrollTop < 0) scrollTop = 0;
if(document.documentElement && document.documentElement.scrollTop !== undefined){
document.documentElement.scrollTop = scrollTop;
}
if(document.body){
document.body.scrollTop = scrollTop;
}
}
< /code>
Ich brauche eine alte Lösung aus JavaScript 1.5 für diese alten Smart -TV -Geräte.>