Beiträge von Sempervivum

    Sorry, ich habe das Erzeugen von #bildinner vergessen. So muss es aussehen:

    Code
              var bild = document.createElement("div");
              bild.id ="bild"
              document.getElementsByTagName('body')[0].appendChild(bild);
              var bildunten = document.createElement("div");
              bildunten.id ="bildunten";
              document.getElementsByTagName('body')[0].appendChild(bildunten));
              var bildinner = document.createElement("div"); // dies hatte ich vergessen
              bildinner.id ="bildinner";
              bildunten.appendChild(bildinner);

    d. h. #bildinner muss innerhalb von #bildunten geschachtelt sein.

    Nicht ganz, Du musst dieses:

    Zitat
    Code
              var bild = document.createElement("div");
              bild.id ="bild"
              document.getElementsByTagName('body')[0].appendChild(bild);
              var bildunten = document.createElement("div");
              bildunten.id ="bildunten"
              document.getElementsByTagName('body')[0].appendChild(bildunten)

    durch dieses ersetzen:

    Code
              var bild = document.createElement("div");
              bild.id ="bild"
              document.getElementsByTagName('body')[0].appendChild(bild);
              var bildunten = document.createElement("div");
              bildunten.id ="bildunten";
              document.getElementsByTagName('body')[0].appendChild(bildunten)
              bildinner.id ="bildinner";
              bildunten.appendChild(bildinner);

    und dann das:

    Code
    addGlobalStyle('#bildinner { position: absolute; width: 200%; height: 200%; top: -50%; left: -50%; z-index: -1; background: url('+urlbild+') 0 0 no-repeat;animation: rot '+tempo+'.'+tempoplus+'s linear infinite;} ');

    Kein Ahnung, wofür Du #bild brauchst.

    Die Erweiterung kannst du sehr leicht mit der Funktion replace() entfernen:

    Code
    $("#grossansicht").attr("src", $(this).attr("src").replace("_x500", ""));

    Das setzt voraus, dass der String immer exakt gleich ist. Wenn nicht, muss man ihn mit einer Regex angeben.

    Hängt das mit deinem früheren Wunsch zusammen, die Bilder, die angeklickt wurden, bei einem späteren Aufruf der Seite gleich zu öffnen?

    Ich empfehle, die URL des zweiten Bildes ebenfalls in einem data-Attribut zu speichern und in swichImage darauf zuzugreifen:

    Code
    <img src="/Adventskalender/img/fst_px/px01_01.gif" data-day="7"
     data-img="/Adventskalender/img/scd_px/px02_01.gif" name="image" onclick="switchImage(this)">

    Dann kannst Du für einen bestimmten Tag das Bild folgender Maßen öffnen:

    Code
    switchImage(document.querySelector("img[data-day='7']");
    Zitat

    das was du verlinkt hast das hatte ich schon so gut wie alles probiert aber nix macht das was ich meine

    Ich dachte, dies sei das, was Du meinst:

    https://jsfiddle.net/Sempervivum/6kp9xm5b/2/

    Genau nach der verlinkten Anleitung.

    Leider lehnt Pixabay das Einbinden ab.

    Ich empfehle dir, von dem Programmieren von Animationen "zu Fuß" wegzugehen. Damit machst Du es dir unnötig schwer.

    1. Schritt: Mache dich mit den Animationen von jQuery vertraut.

    2. Schritt: Mache dich mit CSS3-Animationen vertraut.

    Mit beiden funktioniert es, ohne dass Du dich mit Timern befassen musst.

    Es ist nicht unbedingt immer von Vorteil, Elemente dynamisch mit Javascript anzulegen. Bei deinem Fiddle wäre es viel übersichtlicher, das div und das Menü darin im HTML-Text zu notiereren.

    Mache dich mit den Developertools deines Browsers vertraut. Die sagen sofort, dass bei dem Fiddle die Variable border nicht definiert ist.

    So etwas habe ich vor längerer Zeit auch Mal kodiert.

    Javascript:

    Code
                    var canvas = document.getElementById('mycanvas');
                    var dataURL = canvas.toDataURL();
                    $.ajax({
                        type: "POST",
                        url: "savepic.php",
                        data: { img: dataURL }
                    }).done(function (msg) {
                        alert(msg);
                    });

    savepic.php:

    Wie ich sehe, sieht dein PHP meinem sehr ähnlich, wahrscheinlich aus der selben Quelle gefischt.

    Code
    bildunten.style.backgroundImage = 'url("https://cdn.pixabay.com/photo/2016/09/08/20/52/milky-way-1655504_960_720.jpg");'

    Das ist fast richtig, nur das ";" ist falsch platziert. Es gehört ganz ans Ende. Anders als bei einer CSS-Definition braucht man es beim Zuweisen mit Javascript nicht.

    Code
    bildunten.style.backgroundImage = 'url("https://cdn.pixabay.com/photo/2016/09/08/20/52/milky-way-1655504_960_720.jpg")';

    Und die inneren Hochkommas sind optional weil man ja schon die Klammern als Begrenzer hat, d. h. so funktioniert es auch:

    Code
    testbg.style.backgroundImage = 'url(https://cdn.pixabay.com/photo/2016/09/08/20/52/milky-way-1655504_960_720.jpg)';
    Zitat

    da aber das bil das gedreht wird um einiges grösser sein muss,damit es nicht auffallen tut das es ein bild ist habe ich das problem das der div mit wachsen tut am bild.. wie unterbinde ich das das das div die 200 mal 200 pixel nicht übertrift,aber trotzdem grösser ist als das div ..

    Ich hoffe, ich verstehe es richtig: Wenn Du die Größe des div fest definierst, sollte es sich nicht an das Bild anpassen.


    Zitat

    das der div bei grösseren bilder nicht scrollbar ist ist doch overflow:none; oder was muss da stehen

    Auch hier hilft es, eine Anleitung zu lesen:

    https://wiki.selfhtml.org/wiki/CSS/Eigen…nzeige/overflow

    Am besten machst Du mal ein Fiddle von dem, was Du bisher hast.

    Zitat

    ist es heutzutage überhaupt noch sinnvoll data:image anzulegen??? das internet ist so schnell das das wohl nicht mehr viel ausmacht ,oder ist das doch noch ein grosser zeit gewinn ????

    Was meinst Du hier? Solch HTML, wo ein Bild als Data-URL bzw. kryptische Zeichenfolge kodiert ist und inline im HTML-Text steht, ohne dass eine externe Datei geladen werden muss?

    Dafür kann es andere Gründe geben, vor allem um die Handhabung von HTML-Dateien zu erleichtern, denn werden alle Bilder auf diese Weise eingebettet, braucht man sich nicht um externe Dateien zu kümmern.

    Ich hatte z. B. einmal in einem Forum eine Anfrage, wo jemand eine HTML-Datei an Personen verteilen wollte, die keine Computerkenntnisse haben.

    Zitat

    wie arbeitet man mit querySelector bzw was macht das genau

    Google kaputt?

    https://wiki.selfhtml.org/wiki/JavaScrip…t/querySelector

    Zitat

    document.getElementById(1)

    ich dachte man darf keine id mit zahlen beginnen,oder wahr das nur bei variabeln?? ist id="1" also ok ????

    Das ist eine interessante Frage. Bei HTML5 ist es tatsächlich zulässig, dass eine ID mit einer Ziffer beginnt. Es gibt aber ein großes "aber", denn für CSS trifft das nicht zu. Auch wenn man querySelector() verwendet, funktioniert es nicht, weil der Parameter ein Selektor ist, der den Regeln von CSS folgt. Daher ist es besser, wenn man generell dabei bleibt, dass IDs nicht mit einer Ziffer beginnen.

    Zitat
    var width = (ZONEBASE_URL == "")?70:85;
    Zitat

    wasmacht das fragezeichen da und was kann das hohe fusball ergebniss da zu bedeuten haben ???

    Das kannst Du z. B. hier nachlesen:

    https://wiki.selfhtml.org/wiki/JavaScrip…er-Oder-Abfrage

    Ich wäre hier am besten gar nicht eingestiegen, denn diese Lösungen mit :target sind eigentlich nicht so mein Ding. Entsprechend habe ich ein paar falsche Informationen geliefert. Ich habe jetzt eine Testseite mit deinem vollständigen Code angelegt und siehe da: Das Öffnen des Menüs funktioniert auch wenn das Ziel im body-Tag steht.

    Wenn ich dieses im CSS ergänze, funktioniert auch das Auf- und Zumachen:

    Code
    #nav-menue:target .menue-button-beschreibung-close {
        display: block;
    }
    inspector-stylesheet:1
    #nav-menue:target .menue-button-beschreibung-open {
        display: none;
    }

    auch ohne dass #nav-menue-zu definiert ist. Offenbar ist es ausreichend, dass ein Klick auf den Link mit diesem Ziel das :target von #nav-menue weg nimmt.

    Ich gehe davon aus, dass Du den jQuery-UI-Datepicker verwendest. Ich würde einen Zähler führen und diesen nur erhöhen, wenn der Wochentag nicht am Wochenende liegt.

    Code
    var dat = new Date();
    var nrDays = 3, counter = 0;
    while (counter < nrDays) {
        var weekDay = dat.getDay();
        if (weekDay != 0 && weekDay != 6) counter++;
        dat.setDate(dat.getDate() * 1);
    }
    // jetzt enthält dat das erste zulässige Datum