also ich fülle einen div der schon vorher eine durch den content vorgegebene höhe hat mit anderem content soweit kein problem.
allerdings ändert sich dann natürlich auch die höhe und das soll halt nicht ruckartig passieren sondern langsam, wie kann ich das am besten realisieren? wenn ich die höhe der beiden texte nicht kenne?
höhe von div langsam ändern
-
-
Ein Div verändert seine Höhe weder ruckartig noch langsam, sondern entsprechend der Größe seines Inhalts.
Deine Frage verstehe ich deshalb nicht.Oder willst du, dass sich die Höhe zweier nebeneinander liegender Divs angleicht? Dann wären Faux Columns die Lösung: http://www.ohne-css.gehts-gar.net/0005.php
-
nein ich ändere mit javascript den inhalt des divs und er springt in die höhe die der inhalt ihm vorgiebt er soll allerdings nicht springen sondern erstmal die größe dem content entsprechend ändern und dann soll der angezeigt werden
ich habe ein beispiel gefunden:
http://store.apple.com/de/browse/home…fle?mco=MTIwMDM
wenn man hier z.b. auf galerie klickt kommt genau der effekt den ich realisieren will (das fade-in will ich nach möglichkeit da auch dabei haben) ich habe mich da auch schon durch den code gewühlt allerdings habe ich die enstrpechende kalsse nicht gefunden (klassenaufrüfe schon aber nicht die definition) -
also wie man mit javascript ein div vergrössert kann ich dir zeigen, aber nicht, wenn der inhalt von der grösse her unbekannt ist!
edit: ach wofür lange rumschwafeln... weiss aber net obs wirklich funzt..
Code
Alles anzeigen<script language="javascript" type="text/javascript"> function variableHeight() { var h = 0; if ( !document.all ) { h = document.getElementById('deindiv').contentDocument.height; document.getElementById('deindiv').style.height = h + 60 + 'px'; } else if( document.all ) { h = document.frames('deindiv').document.body.scrollHeight; document.all.deindiv.style.height = h + 20 + 'px'; } } </script>
das div muss dann den name und id "deindiv" haben.. probiers einfach mal aus
-
wie man einen div vergrößert wüsste ich ja...
für den fade-in hätt ich die idee mit opacity / moz-opacity zu arbeiten (funktioniert dann halt in den browsern nicht die kein css 3 unterstützen)
-
oder du änderst die schriftfarbe so wie ich bei meinen Sudokus
-
ja das is ne bessere möglichkeit...
mmmh hat denn keiner eine idee wie ich das mit der größenänderung schaffe?
-
doch klar.. das script oben sollte ja tatsächlich auch bei unbekannten dokument-längen eine maximale divgrösse verursachen.
du willst jetzt dass sich das ding langsam vergrössert, also mach ne funktion die schritt für schritt die grösse um ein paar pixel vergrössert das ganze in ein timeout bis eben die höhe "h" aus obigem script erreicht wurde.frag mich wie du da nicht drauf kommst wenn du doch weisst wie man die grösse von nem div ändert!
-
Mir würde da JQuery einfallen, mittels animate
siehe: http://docs.jquery.com/Effects/animate#demo -
joa für eine simple funktion nen ganzes framework laden...
geht auch.. stimmt! hrhr
-
das framework erkennt aber nicht die größe eines textes, der noch nciht da ist, was das eigentliche problem ist.
-
-
aber wenn er height nicht weiß?
was soll er dann da angeben? -
gut dass niemand liest was ich schreibe...
hat hier irgendwer schomma mit javascript gearbeitet ohne nen framework zu nutzen? -
Um diese Tatsache geht es nicht (Um deine Frage zu beantworten: JA).
JQuery bietet eben eine umfangreiche Palette von Funktionen und Effekten, auf die man legal zugreifen kann. Es geht hier nicht darum, dass man ein Framework benutzt, weil man dumm ist ode rJavascript oder Ähnliches nicht versteht.
Aber irgendwie kommt es mir vor, als ob hier diverse Leute nach dem Motto "Wenns schon was gutes mit ner großen Userbase gibt, weshalb nicht was schlechteres machen?" arbeiten.
Es dürfte das beschriebene Problem beheben und darum gehts. -
meld
natürlich könnten wir dien div langsam höher werden lassen, aber woher wissen wir wann wir aufhören müssen?
wir haben ja keine höhe gegeben! -
edit: doppelpost editiert...
-
von dumm hat hier niemand gesprochen!!!
auch die benutzung von jquery bedarf einer gewissen form von logik und intelligenz!
aber das hier vorliegende prob bedarf der kombination von maximal 3 funktionen die schnell geschrieben sein sollten...
jedoch stellt sich mir akut noch die frage wie denn der entsprechend grössere inhalt in das div reinkommt..?
denn letztlich ist mir grad aufgefallen, dass die funktion die ich gepostet hatte eher für einen iframe ist der keinen scrollbalken und keine frameborder hat.
insofern ist es imo sehr schwer bis unmöglich eine document.height zu ermitteln, wenn der inhalt auf andere weise in den container reinkommt.
es sei denn man würd die vorherige grösse die ja automatisch ist ermitteln, zwischenspeichern und dann erst den content reinmachen, dann die grösse ermitteln, wieder speichern, auf die alte grösse zurücksetzen und dann schrittweise zur neuen aufzoomen.aber nun ja ohne code is das spekulieren eh sinnfrei..
aber kannst mir ja mal ne variante zeigen oder ne möglichkeit daherphilosophieren wie es mit jquery gehen könnte!und ps: auf die userbase scheisse ich, denn wenn ich was selber mache funktioniert es auch so wie es soll und ich weiß was da passiert...!
-
-
das problem dieser sache ist, dass du irgendeinen wert angeben musst, um damit arbeiten zu können..
selbst wenn man aber ne minheigt hat, die bleibt ja gleich, auch wenn des div wächst...
evtl könntest du aber die "<br />" in dienem dynamischen text zählen und mit line-height arbeiten.. dann würdest du lineheigt mal anzahl "<br />" plus lineheigt nehmen und das würd dann fruchten also mal rein hypothetisch -