Beiträge von Arne Drews

    Nutze besser addEventListener, anstatt onclick. Mit onclick überschreibst Du das Standardverhalten, was nicht immer gewünscht ist. addEventListener erweitert das Event um Deine Funktion, wie der Name bereits suggeriert. Das Standardverhalten kann man dort auch unterbinden, wenn man es denn muss/will.

    Außerdem hast Du in jeder <tr> ein <td> mit einem <input> der gleichen id, das ist nicht konform. Die meisten Browser verzeihen Dir das, aber es tut nicht weh, es richtig zu machen.

    Mich wundert auch, dass das hier sauber funktionieren soll:

    JavaScript
    var checkboxes =  source.closest('tr').querySelectorAll('table td .dunkel');

    Das dürfte so gar nicht funktionieren, weil der querySelectorAll() meiner Info nach relativ zum Objekt startet, d.h. in Deinem Fall bei dem übergeordneten <tr> der Checkbox. Dann ist aber table in dem Pfad nicht korrekt und er dürfte keine Elemente finden.

    closest() ist schon mal ein guter Ansatz.

    Zunächst aber definierst Du ein Array mit allen CheckAll-Boxen der Tabelle:

    JavaScript
    var _checkAll = document.querySelectorAll('table td .checkall');

    Dann definierst Du für jede gefundene CheckAll-Box einen Listener auf das Click-Event:

    JavaScript
    _checkAll.forEach( i => {
      
      i.addEventListener( 'click', function(e) {
        
        // here comes the magic...
    
      });
      
    });

    Darin sammelst Du dann alle Standard-Checkboxes:

    JavaScript
    _all = this.closest('tr').querySelectorAll('input[type="checkbox"]:not(.checkall)')

    Jetzt verpasst Du denen den Checked-Status, den auch die entsprechende CheckAll-Box der Zeile hat:

    JavaScript
    _all.forEach( c => { c.checked = this.checked; });

    thats all...


    Hinweis:

    Da querySelectorAll() eine NodeList und kein Array zurückgibt, benötigt man für die M$ Browser eine kleine Anpassung, da diese kein forEach() für eine NideList kennen. Es gibt verschiedene Ansätze, für mich funktioniert folgendes Prinzip ganz gut:

    JavaScript
    // returns NodeList
    var _checkAll = document.querySelectorAll('table td .checkall');
    
    // returns array
    var _checkAll = Array.prototype.slice.call( document.querySelectorAll('table td .checkall') );

    und schon kann forEach() auch bei M$ Produkten angewendet werden. Produktiv mache ich das natürlich über eine externe Methode, hier nur als Veranschaulichung.

    Zusammengefasst kannst Du das hier testen: https://codepen.io/PHProcks/pen/MWWEvKV

    Die Preise sind ganz ok, ja. Grundsätzlich bemängele ich immer die Begrenzung der E-Mail Adressen, die kosten den Anbieter kein Geld, aber das machen viele andere leider auch so. Halte ich für Quatsch...

    Bei Subdomains machen Sie es richtig, die sind unlimietert. Die Frage ist dann nur: Kann ich meine Subdomains alle kostenfrei bspw. über Let's Encrypt verschlüsseln?

    Und was ist mit der Hauptdomain - ich vermute mal es gibt nur eine pro Webspace? - ist das beworbene Inklusive-Zertifikat auch ein Let's Encrypt? Das wäre dann aus meiner Sicht wieder eine Art "Bauernfängerei".

    Aber ich will das gar nicht schlecht gegenüber anderen machen, im Grunde sind die meisten so aufgestellt, da tun die sich nichts...

    Absolut, die Anzahl der Kunden ist keine Aussage über die Kompetenz, genau was Du gerade bestätigst wollte ich damit sagen: Das Unternehmen ist aktuell noch sehr klein, was eben die Ausfallquote nicht unbedingt repräsentativ macht.

    Gute Leistung kann ich anhand der Website nicht beurteilen, dafür müsste ich ein Projekt in Auftrag geben.

    Sollte ich das aber anhand der Website beurteilen, käme ich weiterhin zu dem Schluss, dass einiges an Kompetenz fehlt, um professionell zu sein.

    Du wolltest das vorstellen, also darf ich auch meine Meinung dazu sagen, ansonsten müsste ich Dir unterstellen, dass es ein reiner Werbelink ist...

    Können sich ja auch andere melden, die das anders sehen... oder sogar ähnlich ;)

    Macht auf mich keinen besonders kompetenten Eindruck.

    Du bist langjähriger Kunde? Schwer zu glauben, wenn man annimmt, dass das Unternehmen sich 2019 gegründet hat.

    5 Projekte und 5 zufriedene Kunden... Also 4 neben Dir...

    Dass es bei 5 Projekten noch kein Ausfall gegeben hat, glaube ich gern, das schafft jeder Billigserver im Netz auch.

    Über uns -> 404

    Und was passiert bei Dir innerhalb einer Navigation?

    Wenn ich davon ausgehe, dass eine Navigation zum Navigieren innerhalb der Unterseiten einer Website gedacht ist, wird doch eh eine neue Seite geladen.

    Wenn die Navi dann ausgeklappt bleiben soll, musst Du mit Parametern arbeiten oder den Content asynchron lade.

    Welche Variante setzt Du ein?

    Was hältst Du davon:

    Links werden per default immer in dem Browser angezeigt, über den der Link geklickt wurde. Da spielt es bspw. auch keine Rolle, wer der Standardbrowser o.ä. ist.

    Wenn Du die Links steuern willst, scheinst Du die Seite mit den Links ja selbst zu erstellen.

    Dann setze einfach eine Verknüpfung bei den Usern auf den Desktop, der die Seite mit dem entsprechenden Browser öffnet, bspw.:

    "C:\Program Files (x86)\BraveSoftware\Brave-Browser\Application\brave.exe" "https://your-target-site.local"

    Dann ist die Linksammlung bereits im richtigen Browser geöffnet und alle Klicks bleiben in diesem.

    Hört sich aber alles in allem nach einer recht konfusen Administration an, wenn ich ehrlich bin...

    jQuery biete ich zwar nicht, aber in nativem JS problemlos abbildbar, denn toggle() existiert auch dort:

    HTML
    <button id="toggler">Toggle</button>
    <nav>
      <ul>
        <li><a href="https://www.DuckDuckGo.com">DuckDuckGo</a></li>
        <li><a href="https://www.Ghostery.com">Ghostery</a></li>
        <li><a href="https://www.Comodo.com">Comodo</a></li>
      </ul>
    </nav>
    CSS
    nav { display:none; }
    nav.active { display:block; }