unkontrolliertes Verhalten bei Java + <div>'s



  • Ich hätte jetzt also fast in meine Tastatur gebissen:

    Ist eigentlich bekannt, dass sich Java und div-Bereiche mal überhaupt nicht vertragen?

    Egal ob ich jetzt Navigationsbuttons grafisch mit Java verschönern will, oder schlicht und einfach ein history.back mit Java implementiere, in einem div-Bereich hab ich damit keine Chance ein einigermaßen vernünftiges Ergebnis zu erzielen.
    In meinem speziellem Fall muss ich für die Website aber div's einsetzen, weil das Ding für alle Auflösungen kompatibel sein muss.

    Wenn also irgendein Halb-Guru von euch da draußen, von dieser Problematik Ahnung hat, wäre ich überglücklich, einen Tipp / Hinweis zu bekommen, ob man das irgendwie umgehen kann. Als Erklärung nochmal einen (problematischen) Codeschnipsel von der aktuellen Website:

    <body style="width:100%; height:100%; padding:0px; margin:0px; "> 
    <!-- Struktur -->
     <div id="box1" style><img src="Hintergrund.jpg" style="width:100%; height:100%;" /></div>
     <div id="box2" style><img src="Hauptbox.jpg" style="width:100%; height:100%;" /></div>
     <div id="box4" style><a href="java\1:history.back()"><img src="Pfeilback.gif" alt="" border="0" width="51" height="39" /></a></div>
     <div id="box5" style><img src="Pfeilfwd.gif" alt="" border="0" width="49" height="40"  /></div>
    ...
    

    Wenn ich also den Pfeil benutze, verzieht sich mein ganzes Bild...



  • Du meinst wohl eher JavaScript 😉 - für mich sieht das aber eher nach einem Bug in deinem Browser aus, wenn beim Laden der letzten Seite das Design zerhackselt wird 🙄


  • Mod

    <div id="box1" style>
    sieht auch nicht wie gültiges HTML aus - liegt es uU daran?



  • Halb-Guru

    Bin ich nicht. Deshalb kann ich auch nicht Antworten.



  • Benutz einen vernünftigen Browser, dann geht das auch *g*
    Also an der Zeile oder dem DIV liegt es nicht.. Denn habe diese Zeile mal kopiert und da geht das wunderbar.
    Trotzdem solltest du das STYLE aus den DIV's nehmen.



  • Also,

    wie verhext, es klappt einfach nicht. Statt meines Buttons ändert sich mein Hintergrundbild (von Bild auf weiß). Hier ist mein Code

    <script type="text/javascript">
    <!--
    Normal1 = new Image();
    Normal1.src = "Kunstler1.jpg";     
    Highlight1 = new Image();
    Highlight1.src = "Kunstler2.jpg"; 
    ....
    

    und dann im Body-Bereich hab ich das so eingefügt:

    <div id="Buttons">
    <table width="520px" border="0" cellspacing="0" cellpadding="5">
    <tr><td><a href="index.html"
       onMouseOver="Bildwechsel(0,Highlight1)"
       onMouseOut="Bildwechsel(0,Normal1)"><img src="./Buttons/Kunstler1.jpg" alt="Künstler/ Bands" border="0" width="102" height="10" /></a></td>
    
    ...
    

    Und es will mir einfach nicht gelingen:(

    Sieht von euch vielleicht jemand einen Fehler in meinem Code? Ich hab keinen gefunden..

    Danke für eure Hilfe



  • Es soll das Bild im <img> geändert wereden?
    Dann könnte es vielleicht daran leigen, das du dort als Bildpfad ./Buttons/Kuenstler.jpg angegeben hast und beim Javascriptteil einfach nur Kuenstler.jpg
    Evtl ein Pfadproblem..

    Ich gehe einfach ma davon aus das bei Bildwechsel die 0 für das Erste Image steht, was auf der Seite vorkommt. Warum machst du das nicht mit ID's?
    Dann bist du net drauf angewiesen Bilder zu zählen.
    Benutzen tuste dann document.getElementByID('bild1').[....]
    is vielleicht was besser^^



  • Vielen Dank,

    daran könnte es vielleicht liegen. Kannst du bitte nochmal fix schreiben, wo ich getDocumentbyID dann einsetzen muss?

    thx



  • Das muss in deine Bildwechsel-Funktion. Also einfach statt document.images[0] dann document.getElementByID('bild1') verwenden 🙂



  • Mach doch einfach folgendes:

    <div id="Button" onmouseover="change_image(this,0);" onmouseout="change_image(this,1);">
         <a href="index.html">Bla</a>
    </div>
    

    und dann dein javascript

    function change_image(div_obj, value)
    {
         switch(value)
         {
              case 0:   div_obj.style.background = "url(mein_bild1.jpg no-repeat ...";
                        break;
              case 1:   div_obj.style.background = "url(mein_bild2.jpg no-repeat ...";
                        break;
         }
    }
    

    Und hat das einen bestimmten Grund, das du für id="Buttons" (also Mehrzahl) angegeben hast? Kann auch eine Fehlerquelle sein, da id's nur ein einziges mal vorkommen sollten ;).



  • Ja vielleicht, weil eine "Box" mit Buttons drin is, die gesonderte CSS eigenschaften hat und bei bedarf ausgeschaltet werden soll.. ?


Anmelden zum Antworten