он переходит к элементу и выравнивает горизонтально экрана. Это хорошо работает на многих умных телевизорах, но не очень хорошо работает на некоторых старых телевизорах. Я стремился сделать это с другими способами. < /P>
Это мой код. < /P>
Код: Выделить всё
element.scrollIntoView({ block: "center", });Я попробовал это, но он не будет работать в Chrome Web Browser.
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>
Мне нужно старое решение от Javascript 1.5 для этих старых устройств Smart TV. < /p>
Редактировать: у меня была эта проблема с
samsung 2016
tizen 2.4
webkit r152340 < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... ld-browser
Мобильная версия