2013-12-18 4 views
0

Я работаю над Android прямо сейчас в Phonegap/Cordova, и независимо от того, что я делаю, я не могу получить определенный div для правильного изменения размера. Он заполняется кучей дочерних узлов в моем Javascript, и если я не перекодирую div на какую-то нелепую высоту, некоторые из них будут скрыты. Странно, когда я устанавливаю «alert()»; либо до, либо после этого ...Phonegap & Javascript - Динамическое изменение размера Div

var newheight=entlist.length*200; 
newheight+=200; 
document.getElementById('container').style.height=newheight+'px'; 

... он будет отображаться правильно. Кроме того, «entlist» - это список всех записей, которые превращаются в дочерние узлы «контейнера». Идея состоит в том, чтобы сделать «контейнер» таким высоким, каким он должен быть, чтобы соответствовать всем этим, плюс немного буфера, на всякий случай, по крайней мере, пока я не получу его работу и не посмотрю, как он выглядит.

Тот факт, что он появляется должным образом с оповещением, заставил меня думать, что div просто необходимо перерисовать. Таким образом, я пытался ...

var div=document.createElement("div"); 
document.getElementById('container').appendChild(div); 
document.getElementById('container').removeChild(div); 

... и это, добавив к высоте каждый раз, когда добавляется ребенок ...

var cH = document.getElementById("container").offsetHeight; 
document.getElementById("container").style.height = (cH+150)+"px"; 

... установка «Высота контейнера к «авто» и, наконец, ...

document.getElementById('container').innerHTML = '<p>test</p>'; 

Итак, я пробовал все, что мог найти по этому вопросу. Если кто-то поможет мне понять это, я бы очень признателен! Благодарю.

+0

Какой CSS применяется к '# container'? – MischaNix

+0

прокладка: 0; Маржа: 0; граница: 0; – possumsauce

+0

Что-нибудь еще? Как с селектором 'div'? – MischaNix

ответ

0

Найден ответ! Div находился внутри оболочки iScroll, и я не понимал, что есть даже возможность обновить его. Я просто добавил одну строку, чтобы сделать ее ...

var newheight=entlist.length*200; 
newheight+=200; 
document.getElementById('container').style.height=newheight+'px'; 
myScroll.refresh(); 

... и он работал как шарм. :)

Смежные вопросы