• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Java soll DIV-Tag ausgeben. Ausgabe generell müsste funktionieren, aber nichts ist sichtbar

mbuchegg

Neues Mitglied
Hallo.

Ich mach das erste mal was mit Java. Hab mir ein Script gebastelt welches mir genau ausrechnet wie die Abstände sein müssen um einen div korrekt zu platzieren.

Die Ausgabe funktioniert hab die Klammern einfach entfernt, dann wird alles richtig ausgefüllt. Aber trotzdem wird GAR NICHTS angezeigt. Als gäbe es das Script gar nicht.

Das ist doch sicher nur ein Anfängerfehler der ganz leicht erklärt ist oder?

HTML:
<script type="text/javascript">
        bildschirmh = window.innerHeight;
        bildschirmb = window.innerWidth;
        bannerh = document.images.banner.height;
        bannerb = document.images.banner.width;
        abstando = bildschirmh / 2 - bannerh / 2;
        abstandu = abstando;
        abstandr = ((bildschirmb - 1000)/2) - (bannerb/2) - bannerb;
        abstandl = abstandr;
        content = 1000;
        seitenteil = bildschirmb-content;
       
        if (seitenteil >= bannerb || bildschirmh >= bannerh) {
        document.writeln('<div style="position:fixed; top:' + abstando + 'px; bottom:' + abstandu + 'px; left:' + abstandl + 'px; width:' + bannerb + 'px; height:' + bannerh + 'px;"><img src="uploads/tx_macinabanners/###filename###" border="0" class="bannerlinks"></div>');
        }       
    </script>

Danke euch...
 
Suche dir einen Editor, dessen Syntax-Highlighting fehlerhafte String-Verknüpfungen anzeigt und gewöhne dich außerdem daran, bei Variablen das Schlüsselwort var zu verwenden.
 
Hi Leute... Ich komme einfach nicht weiter.
Arbeite übrigens im Dreamweaver. Der zeigt mir eh gut an was korrekt ist und was nicht.

Es ist etwas schräg, denn wenn ich den Code so ändere, so dass die Tags fehlerhaft sind und dadurch das auch im Browser sichtbar wird passt das alles.
Wenn nicht, dann ist es als wäre nichts programmiert. An was kann das liegen? Kann ich per Java keinen div-Tag generieren?

Code:
<script type="text/javascript">
        var bildschirmh = window.innerHeight;
        var bildschirmb = window.innerWidth;
        var bannerh = document.images.banner.height;
        var bannerb = document.images.banner.width;
        var abstando = bildschirmh / 2 - bannerh / 2;
        var abstandu = abstando;
        var abstandr = ((bildschirmb - 1000)/2) - (bannerb/2) - bannerb;
        var abstandl = abstandr;
        var content = 1000;
        var seitenteil = bildschirmb-content;
       
        document.write("<div style=\"position:fixed; top:" + abstando + "px; left:" + abstandl + "px; width:" + bannerb + "px; height:" + bannerh + "px;\"><img src=\"uploads/tx_macinabanners/###filename###\" border=\"0\" class=\"bannerlinks\"></div>");       
    </script>

das ist der aktuelle code.
 
Hi Leute... Ich komme einfach nicht weiter.
Arbeite übrigens im Dreamweaver. Der zeigt mir eh gut an was korrekt ist und was nicht.

Der zeigt dir aber offensichtlich nicht die Fehler aus Zeile 13.

Escapen ist Blödsinn. Wie bereits erwähnt: Verwende einen vernünftigen Editor, und nein, DW gehört nicht dazu. Nimm lieber Eclipse oder Sublimetext 2, notfalls auch Notepad++. Alles, mit Ausnahme von Dreamweaver.

Zum debuggen von JS nimmt man die Firebug Console.

document.write ist nicht die richtige Methode. Google mal danach, wie man in JS ein Element erstellt und an der richtigen Stelle im DOM einfügt. Wenn du es einfach haben willst, verwende jQuery dafür.
 
Hallo Nochmal.

Vorerst danke für die bisherige Hilfe. Hab mich jetzt etwas gespielt und wohl einen korrekten Weg gefunden. Allerdings funktioniert der nur wenn ich in der IF-Bedingung ein ODER statt UND setze... Das ergibt aber keinen Sinn. Es ist als würde das Script dann plötzlich nicht mehr greifen. Nicht mal ELSE wird ausgeführt...

HTML:
// JavaScript Document

function bannermanagement() {
        var bildschirmh = window.innerHeight;
        var bildschirmb = window.innerWidth;

        var content = 1000;

        var seitenteil = bildschirmb-content;
      
        var bannerlgrh = document.images.bannerlgr.height;
        var bannerlgrb = document.images.bannerlgr.width;
        var bannerrgrh = document.images.bannerrgr.height;
        var bannerrgrb = document.images.bannerrgr.width;

        var bannerlklh = document.images.bannerlkl.height;
        var bannerlklb = document.images.bannerlkl.width;
        var bannerrklh = document.images.bannerrkl.height;
        var bannerrklb = document.images.bannerrkl.width;

        var blabstandogr = (bildschirmh-bannerlgrh)/2;
        var blabstandugr = blabstandogr;
        var blabstandrgr = ((seitenteil/2)/2) - (bannerlgrb/2);
        var blabstandlgr = blabstandrgr;

        var brabstandogr = (bildschirmh-bannerrgrh)/2;
        var brabstandugr = brabstandogr;
        var brabstandrgr = ((seitenteil/2)/2) - (bannerrgrb/2);
        var brabstandlgr = brabstandrgr;

        var blabstandokl = (bildschirmh-bannerlklh) / 2;
        var blabstandukl = blabstandokl;
        var blabstandrkl = ((seitenteil/2)/2) - (bannerlklb/2);
        var blabstandlkl = blabstandrkl;

        var brabstandokl = (bildschirmh-bannerrklh) / 2;
        var brabstandukl = brabstandokl;
        var brabstandrkl = ((seitenteil/2)/2) - (bannerrklb/2);
        var brabstandlkl = brabstandrkl;

        if (bildschirmh >= bannerlgrh && bildschirmb >= bannerlgrb) {
        document.all.bannerlgr.style.height = bannerlgrh;
        document.all.bannerlgr.style.width = bannerlgrb;
        document.all.bannerlgr.style.position = "fixed";
        document.all.bannerlgr.style.top = blabstandogr;
        document.all.bannerlgr.style.left = blabstandlgr;
        document.all.bannerlgr.style.display = "";
        document.all.bannerlkl.style.display = "none";
      
        document.all.bannerrgr.style.height = bannerrgrh;
        document.all.bannerrgr.style.width = bannerrgrb;
        document.all.bannerrgr.style.position = "fixed";
        document.all.bannerrgr.style.top = brabstandogr;
        document.all.bannerrgr.style.right = brabstandrgr;
        document.all.bannerrgr.style.display = "";
        document.all.bannerrkl.style.display = "none";
        }
      
        else if (bildschirmh < bannergrh && bildschimh >= bannerklh && bildschirmb < bannergrb && bildschirmh >= bannerklb) {
        document.all.bannerlkl.style.height = bannerlklh;
        document.all.bannerlkl.style.width = bannerlklb;
        document.all.bannerlkl.style.position = "fixed";
        document.all.bannerlkl.style.top = blabstandokl;
        document.all.bannerlkl.style.left = blabstandlkl;
        document.all.bannerlkl.style.display = "";
        document.all.bannerlgr.style.display = "none";
      
        document.all.bannerrkl.style.height = bannerrklh;
        document.all.bannerrkl.style.width = bannerrklb;
        document.all.bannerrkl.style.position = "fixed";
        document.all.bannerrkl.style.top = brabstandokl;
        document.all.bannerrkl.style.right = brabstandrkl;
        document.all.bannerrkl.style.display = "";
        document.all.bannerrgr.style.display = "none";
        }
      
        else {
        document.all.bannerlkl.style.display = "none";
        document.all.bannerlgr.style.display = "none";
      
        document.all.bannerrkl.style.display = "none";
        document.all.bannerrgr.style.display = "none";
        }
      
}
 
Zuletzt bearbeitet:
Fehler gefunden.
Jetzt funktioniert alles. Die Bedingungen waren fehlerhaft. Außerdem hab ich mich ein paar mal vertippt. ;)
 
Zurück
Oben