art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 04.01.2008, 17:20   #1
TP-Junior
 
Registriert seit: Oct 2007
Ort: kölle
massel macht alles soweit korrekt

Inhalt eines Div cleanen?


Hallo,

ich schlauch mit dem Problem einige Tage rum und finde keine Lösung.

Ich habe einen <Div id="asdf"> wo beispielsweise 5 Einträge enthalten sind. Jeder EIntrag hat die Höhe 10px und beinhaltet einen Playernamen.

Nun kann ich halt einen solchen Player aus der Liste auch löschen (mit nem klick auf das deletsymbol) wodurch der Eintrag verschwindet. Nun passt sich die neue Höhe nur im FF automatisch an, im IE7 bleibt der Abstand des gelöschten Eintrages erhalten. Erst nach einem kompletten Seitenreload passt sich die Höhe dann an.

Wie kann ich das beim IE beheben?

Gruß
massel
massel ist offline   Mit Zitat antworten


Alt 04.01.2008, 23:35   #2
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Wahrscheinlich bin ich jetzt wieder am "Google"-Spammen aber kannst Du ein paar mehr Infos zu Deinem Problem posten? Es gibt nämlich mehrere Möglichkeiten das ganze zu implementieren.

Wie sieht z.B. dein gefülltes DIV aus?
Wie sehen die CSS-Properties aus?
Wie leerst Du den Inhalt?

Kannst Du einen online-Link bzw. ein Beispielscript posten?

Tschau

Frank
Malleus ist offline   Mit Zitat antworten
Alt 06.01.2008, 11:38   #3
TP-Junior
 
Registriert seit: Oct 2007
Ort: kölle
massel macht alles soweit korrekt
hallo,

css dazu gibs nur in form vom dêsign. also font-size so ond so...

die löschfunktion sieht so aus:
PHP-Code:
    function delete(id) {
        todo = '&id='+id;
        dojo.io.bind({
        url: "<?=$delete->getLink()?>"+todo,
        load: function(type, data, evt) { 
               dojo.byId("diedivid").innerHTML=data;
        },mimetype: "text/plain"});}
die werte hier werdeb durch $delete an den php-teil übergeben, wo dann einfach nur die session gelöscht wird.

ein gefüllter div sieht so aus:
PHP-Code:
<table style="width:100%; border: 0px;height:20px;" cellspacing="0" cellpadding="0">
    <tr>
        <td class="selt" style="width: 90%">
            <span class="text11"><?=$name;?></span>
        </td>
        <td style="text-align: right; width: 10%">
<span style="cursor:pointer;" onclick="delete('<?=$id?>')">Lösche
</span>
        </td>
    </tr>
</table>
massel ist offline   Mit Zitat antworten
Alt 06.01.2008, 12:59   #4
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Hallo massel,
wie's aussieht, nutzt Du das Dojo-Framework. Damit hab' ich aber noch nie gearbeitet. Sorry!

Bei Deinem geposteten Script gibt es leider auch noch ein paar "Unbekannte" ( da war's schon wieder )

(1) Das Element mit der id "diedivid" kann ich nicht finden.
(2) Die CSS-Klassen "selt" und "textl1" sind auch nirgends definiert.
(3) Was wird wirklich in der Funktion "delete" aufgerufen? Was ist "data"? Ein "Blank" oder "&nbsp;". Je nach Browsertyp wird da eine leere Zelle angezeigt oder nicht.

(4) Ist bei Dir ein DIV ( also ein Player ) eine komplette TABLE? Wenn Du dann die TD löschst, wird wahrscheinlich die "Height" der TABLE "20px" greifen. Kannst ja mal versuchen, die "height:20px" aus dem TABLE Style zu entfernen. Das ganze ist aber nur so 'ne Idee.

Sorry, wie's aussieht, kann ich Dir da leider nicht weiter helfen. Einen Online-Beispiel kannst Du nicht bereitstellen? Es ist nämlich immer besser das eigentliche durch PHP erzeugte Script zu sehen ( ViewSouce bzw. Quelltext anzeigen).

Tschau

Frank
Malleus ist offline   Mit Zitat antworten
Alt 06.01.2008, 14:44   #5
TP-Junior
 
Registriert seit: Oct 2007
Ort: kölle
massel macht alles soweit korrekt
hi,

also der div ist alleinstehend, kein table-konstrukt.
im FireFox macht er das ja auch korrekt, nur im IE gibs probleme wie beschrieben.

Eine Onlineversion kann ich dir leider nicht geben da es eine intranetanwendung ist, hätte ich sonst ja gemacht. Die CSS-Klassen machen nichts wildes, lediglich font-size,color und font-family.
Hast du denn evtl irgendwelche suchtipps oder mögliche hilfen parat wie ich ein div im ie korrekt löschen kann? ich verstehe nicht warum der div eine höhe behält. der Div in dem das unten genannte table-konstrukt liegt heisst id="asdf", dieses div liegt dann nochmal in einem div welcher aber keine werte etc hat. im quellcode tauchen die angaben ja nicht auf, da sie durch eine session erzeugt werden. ich kann jetzt zwar hinzufügen und löschen, schaue ich mir jedoch der quellcode dazu an tauchen diese werte nicht darin auf. so wie es im IE aussieht, löscht er zwar den Eintrag, der Div scheint aber noch da zu sein.

wie gesagt, nuzr der ie hat hier die macke.
massel ist offline   Mit Zitat antworten
Alt 06.01.2008, 17:07   #6
TP-Moderator
 
Benutzerbild von Malleus
 
Registriert seit: Aug 2004
Ort: Homburg / Saarland
Malleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKEMalleus ist ein richtiges Arbeitstier - DANKE
Es tut mit echt leid, aber mit diesen Infos kann ich Dir nicht helfen. Es wird auch keine Infos in Google geben. Man muß bei Dir das ganze im Kontext sehen.

Normalerweise löscht man den DIV-Inhalt mit

div.innerHTML=''

bzw. indem man den Knoten mit removeChild aus der DOM entfernt.

Wie Dojo das bzgl. innerHTML macht (data ist unklar!) kann ich hier nur spekulieren. Es könnte auch sein, daß innerHTML = "&nbsp;" ist. Dann könnte aber die Fontsize immer noch die Höhe beeinflussen. Du müßtest dann im "DIV" Element "overflow:hidden" angeben.

Ich könnte Dir jetzt ein einfaches Beispiel scripten, aber das wird dann wahrscheinlich in Deinem Umfeld nicht funktionieren.

Versuch' mal "overflow:hidden"!

Geändert von Malleus (06.01.2008 um 21:39 Uhr). Grund: Rechtschreibfehler
Malleus ist offline   Mit Zitat antworten
Alt 07.01.2008, 01:00   #7
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
ob dojo oder sonstwie dürfte hier keine Rolle spielen.
Dein Problem ist also reines CSS und sollte auch im IE gehen, wenn das parent-div die Eigenschaft height:auto; besitzt.
Bist Du sicher, das Du die Funktion auch nach dom.ready aufrufst?
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 08.01.2008, 22:09   #8
TP-Junior
 
Registriert seit: Oct 2007
Ort: kölle
massel macht alles soweit korrekt
Nabend,

ich habe überall das overflow mal reingepackt und auch auto height. Brachte leider nicht das gewünschte ergebnis. Problem bleibt.

Ob ich das korrekt nach dem DOM aufgebaut weiß ich jetzt nicht mehr, ich bin da am verzweifeln. Also von der Strukur ist alles valide, ff meckert ja auch nicht.

Zitat:
Zitat von Malleus Beitrag anzeigen
Wie Dojo das bzgl. innerHTML macht (data ist unklar!) kann ich hier nur spekulieren. Es könnte auch sein, daß innerHTML = "&nbsp;" ist.
data gibt den Inhalt wieder und wird in der php-funktion geflusht. daher sollte er eigentlich leer sein. ich kann auch anstatt =data =""; machen, kommt aufs selbe raus. Im IE ist es tatsächlich so das zwar der Inhalt gelöscht ist, der div an sich aber noch wie unsichtbar existiert.

Hier mal die PHP an der die id übergeben wird:
PHP-Code:
function deleteinPHP($id){
        unset (
$_SESSION['idthis'][$id]);
                
iconv_set_encoding("output_encoding","ISO-8859-1");
                
ob_start("ob_iconv_handler");
            
$jedi rflush();
        return 
$jedi;

das ergebnis von return ist also Inhalt von data.

beim Hinzufügen existiert ebenfalls eine js-funktion die das Werte des "event" an eine PHP-Fkt übergibt, hier erstelle ich dann das div mit einer entsprechenden ID und den Werten overflow etc und rufe das in einem template dafür aus (das ist dann ein table-konstrukt):

ausschnitt aus der hinzufügen-FKT:
PHP-Code:
    $daten '<div id="intern' $id '" style="height:auto;overflow:hidden">';
        
$daten .= $TEMPLATE->parse('Template_hinzu'$test);
            
$daten .= '</div>'
hier das table-konstrukt:
PHP-Code:
<table style="width: 100%; border: 0px;overflow:hidden" cellspacing="0" cellpadding="0">
    <tr>
        <td class="erg3_2" style="width: 90%">
            <span class="text_3"><?=$name;?> </span>
        </td>
        <td style="text-align: right; width: 10%">
            <span style="cursor:pointer;" onclick="delete('<?=$id?>')";>
                <img src="../images/loeschen.gif" border="0">
            </span>
        </td>
    </tr>
</table>
<table style="width: 200px; height: 1px; border: 0px; margin-top: 1px;margin-bottom: 4px"
    cellpadding="0" cellspacing="0">
    <tr>
        <td>
        </td>
    </tr>
</table>
Ich hoffe das hilft euch schonmal bissl mehr weiter, ich bin da ratlos

MfGruß
massel ist offline   Mit Zitat antworten
Alt 08.01.2008, 22:34   #9
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
ich denk die Lösung ist ganz woanders.

Wenn dojo ein Element assigned, generiert es wrapper-divs?
Wenn ja, dann gibt es sicher auch methoden zum Refresh / domUpdate, so kenn ich das aus anderen Frameworks auch, damit die divs auch die neuen Masse annehmen.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 08.01.2008, 22:55   #10
TP-Junior
 
Registriert seit: Oct 2007
Ort: kölle
massel macht alles soweit korrekt
hi,

also im quellcode nicht. alles was ich so von dojo verwende ist dieser funktionsaufruf. wie das natürlich in den tiefen des frameworks aussieht kann ich dir nicht sagen, ich denke aber das im backend auch nur die ganzen internen funktionen sind, die die aufrufe im fronend halt erleichtern. alles was das frontend aus macht ist daher wohl nicht mit dabei.

hmm.
massel ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > HTML Puristen > Javascript
Inhalt eines Div cleanen? Inhalt eines Div cleanen?
« Mit JQuery/Javascript auf TinyMCE zugreifen? | Variablenübergabe außerhalb einer Funktion »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:21 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67