Beiträge von Sempervivum

    'ich habe es mit:
    im.setAttribute("data-locked", "true");
    rum probbiert, aber das klappt nicht.'


    Das ist schon ein richtiger Ansatz. Poste mal deinen Code, damit man sich ansehen kann, warum es nicht funktioniert.


    'wie mach ich sie später wieder sichtbar?
    irgendwas mit im.setAttribute("data-locked", "false"); ?'
    Auch das ist ein richtiger Ansatz. Alternativ könntest Du auch das Attribut mit removeAttribute löschen.


    Kommt mir irgend wie bekannt vor, hattest Du so ein Thema schon Mal?

    Um deinen Code vollständig zu verstehen, müsste man wissen, was randomNumberBasic ist. Ohne dies zu verstehen, kann ich folgende Lösung anbieten:


    for (var i = 0; i < cardSelectBasic; i++){
    var im = imgArray[zz[ i ]];
    gallerie.appendChild(im);
    im.addEventListener("click", function(idx) {
    return function() {
    // Hier steht der Index unter idx zur Verfügung
    };
    }(i));
    }[/code]



    Normaler Weise müsste man Code-Tags verwenden, aber leider funktionieren diese in diesem Forum nicht richtig.

    Warum nimmst Du nicht einfach Buttons für die Steuerknöpfe?
    Vor dem Abspielen eines Track ermittele alle audio-Elemente und stoppe sie:

    Code
    <script>
    function myPlay(id) {
    var audios = document.getElementsByTagName('audio');
    for (var i = 0; i < audios.length; i++) {
    audios[i].pause();
    }
    document.getElementById(id).play();
    }
    </script>


    HTML:

    HTML
    <a class="SYM" href="#" onclick="myPlay('Track1');">d</a><a class="SYM" href="#" onclick="document.getElementById('Track1').currentTime = 0; myPlay('Track1');">h</a>
    <a class="SYM" href="#" onclick="document.getElementById('Track1').pause()">k</a>
    <a class="SYM" href="#" onclick="document.getElementById('Track1').currentTime = 0;document.getElementById('Track1').pause();">i</a>
    <a class="TBF"><span>Track1</span></a>

    usw.

    Ich bin vor kurzer Zeit auf Visual Studio Community umgestiegen. Das hat den Webserver integriert, so dass man kein XAMPP installieren muss. Kleiner Wermutstropfen: Die PHP-Unterstützung kostet 79 Dollar. Das habe ich in Kauf genommen, weil mir eine Fehleranzeige während des Editieren unverzichtbar war. Mit kleinen Abstrichen kann man das aber auch kostenlos bei NetBeans und wahrscheinlich auch Eclipse bekommen, wenn man die Mühe in Kauf nimmt, XAMPP und Erweiterungen zu installieren.

    Zitat

    Ich muss einfach den Server localhost installieren und dann den Ordner mit der Website in den Serverordner ziehen oder?

    Wie das genau geht, kann ich dir leider nicht sagen, weil ich XAMPP nicht einsetze. Es gibt aber ein Forum speziell dafür. Möglicherweise muss man die Dateien gar nicht verschieben, sondern kann einen beliebigen Ordner als root für den Server definieren.

    Zitat

    wenn jemand was ins Formular eingegeben hat und sich das Browserfenster verändert sind alle eingaben weg... Das ist nicht so gut

    Das liegt wahrscheinlich am Reload. Man könnte die Inhalte der Formularfelder im Localstorage speichern, aber ich bin relativ sicher, dass das, was Du brauchst, auch ohne Reload machbar ist.

    Die Fehlermeldungen von Dreamweaver kannst du ignorieren. '===' bedeutet, dass die beiden Variablen nicht nur vom Wert sondern auch vom Typ übereinstimmen müssen.



    Leider postest Du nicht das HTML, so dass ich nicht verstehe, was Du mit dem Javascript vor hast. Kannst Du das mal verbal beschreiben und am besten die ganze Seite bei pastebin.com posten?

    Zitat

    "Ich würde am liebsten die Tabelle noch responsive machen. Ich habe mir das so vorgestellt, dass über Media Queries alles ausgeblendet wird außer die Spalte "Thema" und dann bei einem Klick auf das jeweilige Thema die anderen Informationen wie bei einem Dropdownmenü nach unten aufklappen oder so. Wie könnte ich das am besten Umsetzen?"


    Das lässt sich relativ leicht mit der jQuery-Funktion slideDown() machen. Ich nehme an, Du meinst diese zweite Tabelle, in der nur der nächstliegende Termin angezeigt wird?



    "Und ich hätte noch die Frage zum PHP mach ich dann einfach in der Sidebar das Include ohne was anderes rein oder muss die Tabelle da bleiben oder wie ist das? Wie wird das angezeigt dann?"
    Nein, die Tabelle brauchst Du dort nicht. Das include wirkt genau so, als wenn Du den Inhalt der Datei in die Zwischenablage kopierst und an der Stelle, wo das include steht, einfügst. Probiere es einfach aus, dann wirst Du es in der Quelltext-Ansicht deines Browser sehen.

    Diese Frage wird häufig gestellt und die Antwort ist einfach: Lagere den Inhalt, der auf allen Seiten gleich ist, in eine Datei aus und binde diese mit PHP-Include ein:

    PHP
    <?php include('deine-include-datei.html'); ?>


    Dein Webspace muss PHP unterstützen und Du musst den Dateien, die auf diese Weise includieren, die Endung PHP geben. Füge den Code dort ein, wo der Inhalt auf der betr. Seite sichtbar sein soll.

    Zitat

    Und Dw gibt beim JavaScript die Fehlermeldung bei var s = data; ('s' is defined but never used) aus


    Das kannst Du ignorieren. Wie die Fehlermeldung sagt, ist es lediglich eine Warnung, weil die Variable s definiert aber nie benutzt wird. Ich habe das nur zu Testzwecken eingefügt, Du kannst den Callback auch weg lassen:



    $.post("sidebar-schreiben.php", params);

    Das ist relativ einfach, wenn man weiß, wie es geht.


    Zunächst das Javascript, am Ende des bisherigen Codes einfügen:



    var params = {
    sThema: rows[rowIdx].cells[0].innerHTML,
    sDatum: rows[rowIdx].cells[1].innerHTML,
    sUhrzeit: rows[rowIdx].cells[2].innerHTML,
    sOrt: rows[rowIdx].cells[3].innerHTML
    };
    $.post("sidebar-schreiben.php", params, function (data) {
    var s = data;
    });


    Dann das PHP, dieses musst Du in eine Datei sidebar-schreiben.php einfügen:



    <?php
    $thehtml = ' <div id="sidebar">
    <h4>Neue Termine:</h4>
    <table id="sidebartabelle">
    <tr>
    <td id="sThema">' . $_POST['sThema'] . '</td>
    </tr>
    <tr class="zweitezeile">
    <td id="sDatum">' . $_POST['sDatum'] . '</td>
    </tr>
    <tr>
    <td id="sUhrzeit">' . $_POST['sUhrzeit'] . '</td>
    </tr>
    <tr class="zweitezeile">
    <td id="sOrt">' . $_POST['sOrt'] . '</td>
    </tr>
    </table>
    </div>';
    file_put_contents("sidebar.html", $thehtml);
    echo $thehtml;
    ?>


    Dann wird eine Datei sidebar.html angelegt. Damit es funktioniert, muss PHP verfügbar sein. Wenn Du es lokal testen willst, musst Du einen Server mit PHP auf deinem Computer installieren. XAMPP ist ein verbreitetes Paket. Auf jeden Fall zu empfehlen, wenn Du PHP lernen willst.


    Die Datei sidebar.html kannst Du dann in deine anderen Seiten mit PHP-Include einbinden:
    <?php include('sidebar.html'); ?>



    Viel Erfolg!