Beiträge von Sempervivum

    Zitat

    Wahrscheinlich ist es wieder so ein blöder Tippfehler

    Offenbar ja: Sieh dir mal genau den Wert des href-Attributes an:

    Code
    <a class="menue-button menue-button-beschreibung-close" href="#nav-menue-zu>">MENÜ zu</a>

    Da ist das ">" am Ende zu viel. So lautet das Sprungziel "#nav-menue>" und das existiert nicht.

    Außerdem funktionierte es bei mir (Opera) nicht, wenn das Sprungziel im body-Tag steht. Ich musste ein a-Tag dafür anlegen und dann funktionierte es.

    Zitat

    aber da in meinen fall ja bei jeden schleifen durchlauf die positsionen verändert werden ,clone ich ja jedesmal ein anderes element (zumindet den inhalt).... wie kann ich das den nur einmal klonen ( also vor den schleifen durchlauf),und dann in nachherein den inhalt des clones ändern ?????

    Ah ja, jetzt verstehe ich, warum Du das gemacht hast, beim Klonen nimmst Du auch die CSS-Eigenschaften mit. Eigentlich auch eine gute Idee.

    Um das zu lösen, müsstest Du zwei verschachtelte Schleifen anlegen, die äußere über die Container #einstellungx und die innere über die einzelnen Kästchen einsxy. Ich empfehle aber, damit gar nicht erst anzufangen, sondern statt dessen die Position der Container zu animieren. Dass das funktioniert, siehst Du ja an meinem Beispiel.

    Wie ich sehe, hast Du dabei einiges umgesetzt, was wir früher diskutiert haben.

    Das Klonen ist eine gute Idee, gefällt mir.

    Leider hat dieses Skript jedoch meinen Browser völlig lahm gelegt. Das Kernproblem war folgendes:

    Die Funktion unten(), die #einstellung klont und die Elemente links, rechts und unten anlegt, rufst Du während der zyklischen Bearbeitung auf, so dass immer mehr und mehr dieser Elemente angelegt werden. Du solltest dies nur einmal beim Laden der Seite tun.

    Weitere Verbesserungsvorschläge:

    Funktion setInterval() verwenden, weil sich ja alle zyklisch wiederholt.

    Nicht die einzelnen Rechtecke #einsx bewegen, sondern die gesamten Container #einstellungx.

    Zitat

    kannstdu mirmaleinbeispiel geben ,wie man das obrige machen kann???

    nicht genau das obige, aber schau dir mal dies an und probiere es aus:

    Du hast nicht wirklich einen Fehler gemacht, aber das Javascript macht dir einen Strich durch die Rechnung, denn es nummeriert hiermit die Tage neu:

    Code
            for (var i = 0; i < images.length; i++) {
                images[i].setAttribute("data-day", i + 1); // Nummer des Tages als data-Attribut hinzu fuegen
                images[i].src = "http://lorempixel.com/output/nature-q-c-160-160-5.jpg"; // nur zum Test
            }

    Wenn Du das löschst, bleiben deine Einträge erhalten.

    Zeile 7 erzeugt ein Eingabefeld, wo Du den Wert eingeben kannst:

    Code
    <input id="val" />

    Und ab Zeile 9 wird diesem ein Eventlistener zugewiesen, durch Aufruf der Funktion updateCircleDisplay() die Anzeige auf den Wert setzt, der im Eingabefeld eingegeben wurde.

    Da wird dir jeder etwas anderes empfehlen. IMO ist das Wichtigste, dass der Editor nicht nur ein Syntax-Highlighting hat sondern auch Syntaxfehler gleich beim Editieren anzeigt. Das erleichtert und beschleunigt die Entwicklung enorm.

    Selber benutze ich Visual Studio 2015 Community. Die Community Edition ist kostenlos bei nicht kommerzieller Nutzung.

    Du kannst nur eine Variable zurück geben. Diese kann jedoch ein Array oder Objekt sein, dann kannst Du mehrere Werte hinein legen:

    Code
    function los(){
        var a = 'hallo';
        var b = 'du'
        var c = 'da'
        return {va: a, vb: b, vc: c}; // so geht das 
    }
    var retval = los();
    console.log(retval.va);
    console.log(retval.vb);
    console.log(retval.vc);

    OK, ich habe es mal versucht. Wenn Du den Code wirklich verstehen willst, empfehle ich, das jQuery-Tutorial hier bei html-siminar durchzuarbeiten.

    Gern. Der Browser arbeitet die Datei von oben nach unten ab. Das Javascript greift hier:

    Code
    $("#val").on("change", function () {

    auf das Input mit der ID "val"

    und hier:

    Code
    $(selector).each(function (idx, ele) {

    auf das Canvas mit der ID "display" zu. Steht das Javascript im Head, hat der Browser die Zeilen wo diese Elemente definiert werden, noch nicht abgearbeitet und sie sind deshalb undefiniert.

    Es kommt zu keiner Fehlermeldung, weil z. B. $("#val") dann ein leeres Array liefert.

    Dann vermute ich folgendes: Da ich im body kein Skript sehe, nehme ich an, dass Du das Javascript in den head eingetragen hast. Dann gibt es das Problem, dass dort die Elemente Canvas und Input noch nicht existieren. Lege das Javascript an das Ende des Body, vor das schließende </body>.

    Zitat

    Warum kann er das denn nicht laden ?

    Du hast doch geschrieben, dass Du es offline verwenden willst. Wenn Du noch das Laden von den CDNs drin hast, kann es dann nicht funktionieren.

    Wenn es daran nicht liegt, dann poste noch Mal, wie Du jQuery und jCanvas eingebunden hast und was die Console anzeigt.

    Zitat

    Was und wie muss ich dieses jQuery runterladen und einbinden ?

    und dann JCanvas runterladen?

    Für den Anfang brauchst Du es nicht herunterzuladen, sondern Du kannst beide von einem CDN einbinden:

    Code
        <script src="//code.jquery.com/jquery-1.10.2.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/jcanvas/20.1.2/jcanvas.js"></script>

    Inzwischen habe ich es geändert, so dass es mehr auf deine Anwendung passt:

    https://jsfiddle.net/Sempervivum/1somodv3/1/

    Mit createCircleDisplay() wird die Anzeige aufgebaut, dies brauchst Du nur einmal beim Laden der Seite aufzurufen.

    Mit updateCircleDisplay() wird der angezeigte Wert geändert.

    Das Eingabefeld ist nur zur Demonstration, das kannst Du später weg lassen.

    Deine Auswahl der Schwierigkeit ist doch das beste Beispiel. Es kann nur einen Level geben und was Du mühevoll bei den Checkbuttons mit Javascript programmiert hast, macht eine Gruppe von Radiobuttons von allein. Wenn eine Mehrfachauswahl gefragt ist, kann man Checkbuttons verwenden.