Показать сообщение отдельно
  #3 (permalink)  
Старый 12.01.2026, 19:40
Интересующийся
Отправить личное сообщение для varjaginm Посмотреть профиль Найти все сообщения от varjaginm
 
Регистрация: 12.10.2018
Сообщений: 29

Удовлетворен частично!
r.top < 0 работает
Но уже r.bottom=undefined!
window.innerHeight=undefined!
Можно и window.clientHeight. но он такой же!

Пока версия SetFocus такая:
function SetFocus( cId ){
KillFocus( );
var oNew= document.getElementById(cId);
var CurrTop = oNew.offsetTop;
var CurrH = oNew.clientHeight;
oNew.className = oNew.className +' sel';
var r = oNew.getBoundingClientRect();
// YES!
alert(r.top+' '+r.height+' '+ r.bottom+' '+window.innerHeight );
if ( r.top<0 ) {
oNew.scrollIntoView()
}
// NO!
if ( CurrH +r.bottom > window.innerHeight) {
oNew.scrollIntoView(true)
}
CurrId = cId;
};
Ответить с цитированием