Jak automatycznie zmienić rozmiar div do rozmiaru jego zawartości, gdy zmieni się zawartość div?
W tej chwili mam ten DIV z formularzem rejestracyjnym na środku strony. Zawartość DIV pochodzi ze strony ascx. Robi się to dobrze. Teraz, jeśli użytkownik próbuje wpisać nazwę, która nie jest unikalna, komunikat o błędzie jest dodawany przez niektóre jQuery obok pola nazwy użytkownika. Przerywa to układ DIV, ponieważ zawartość jest teraz szersza niż kiedyś. Więc wkroczyłem w to, ale nie mogę znaleźć rozwiązania tego problemu.
Czy ktoś może mi pomóc znaleźć dobry sposób na zrobienie tego (pseudo HTML / js):
<div id="myCenteredDiv" onChangeContents="resizeToNewSize()">
<!-- div contents -->
</div>
<script type="text/javascript">
function resizeToNewSize() {
$("#myCenteredDiv").animateToSize($("#myCenteredDiv").contentWidth,
$("#myCenteredDiv").contentHeight);
}
</script>
Szukam metody „onChangeContents” (i / lub zdarzenia) oraz właściwości „div.contentWidth”.
Wielkie dzięki za pomoc!
aktualizacja: próba wyjaśnienia problemu wyraźniej
Powiedzmy, że mam ten DIV:
<div id="myDiv">
<form ...>
Enter your name: <input id="txtYourName" type="text" name="YourName" value="" />
<span id="errorYourName"></span>
<input type="submit" ... />
</form>
</div>
I powiedzmy, że mam ten fragment jQuery:
$(document).ready(function() {
$("#txtYourName").live("blur", function() {
if (validateInput($("#txtYourName").val())) {
$("#errorYourName").html("");
// entry 1
} else {
// entry 2
$("#errorYourName").html("This name is not valid.");
}
});
});
...gdzievalidateInput(value)
zwracatrue
dla prawidłowej wartości.
Więc teraz. Wtyczka SimpleModal pobiera div i umieszcza ją na środku strony, z określoną szerokością i wysokością, w jakiś sposób odczytuje zawartość div. Tak więc div nie jest szerszy niż pole wprowadzania, ponieważ rozpiętość jest obecnie pusta.
Gdy pole wprowadzania straci ostrość, do zakresu zostanie wstawiony komunikat o błędzie. To zrywa układ div.
Mogę wprowadzić kodentry 1
który zmienia rozmiar div z animacją do pewnego rozmiaru, gdy komunikat o błędzie został wyczyszczony, i koduje doentry 2
który zmienia rozmiar div na większy rozmiar, więc komunikat o błędzie będzie pasował.
Ale to, co chciałbym najbardziej, to sposób na sprawdzenie, czy zawartość div się zmieniła i odpowiednio dopasuj div, animowany i automatycznie.
Jakieś pomysły? Dzięki jeszcze raz.