Kategorien
Wochenbericht

Wochenbericht 2017.27

  1. MJML – The Responsive Email Framework Einführung beim Smashing Magazine
  2. CSS Sticky nav and smooth scrolling
  3. Elasticlunr.js – Lightweight full-text search engine in Javascript for browser search and offline search
  4. Linkfutter “Grid”

Was zum Lachen: Mathematischer Beweis für No Food or Drugs in the LAB!

Kategorien
Wochenbericht

Wochenbericht 2017.26

  1. Praktisch: Listen-Inhalte on Demand.
  2. Wie man 2017 ein Frontend-Framework aussucht.
  3. Bring Laravel Collections to JavaScript with Collect.js
  4. Von der Idee zu 4 Milliarden Pageviews in 4 Wochen
  5. A Collective List of APIs
  6. Von Bootstrap zu CSS Grids

Zum Schluss was zum Lachen: Working at Pornhub

Kategorien
Wochenbericht

Wochenbericht 2017.25

JavaScript Optimization Patterns (Part 1) das verspricht eine unterhaltsame Serie zu werden. Irgendwo bin ich neulich auch mal über die Performance von Local vs Global in JS gestoßen und habe den Link leider nicht gespeichert, aber das hier ist eine sehr gute Erklärung.

Eine Sammlung schicker Verläufe. Klingt komisch, ist aber so und hat ein paar schicke Verläufe.

Die NSA ist auf Github. Also mit Repos. Andererseits bestimmt auch zum Daten schnorcheln.

The Illusion of Speed mal wieder zum Thema “Percieved Perfomance”

CSS Grids hat eine minmax()-Funktion.

Zum Abschluss was zum Lachen: “Have you ever felt this?

Kategorien
Wochenbericht

Wochenbericht 2017.24

  1. Wie kam eigentlich das IMG-Tag zustande? Ein kleiner Ausflug in die Ursprünge des WWW. Im Prinzip funktionierte das damals wie heute auch, nur mit weniger Papierkram. Und ohne größere Notwendigkeiten, komplett rückwärtskompatibel jeden alten Krempel durchzuschleifen.
  2. Pitch dich selbst!

    Menschen ernähren Familien, Menschen brauchen etwas, das man gemeinhin “Einkommen” nennt. Und das wird nicht aus kostenlosen Pitches oder dem Verschenken von Ideen finanziert. Oder dachte das jemand? Wer jetzt zustimmend nickt, wurde dreimal hochgeworfen und nur zweimal aufgefangen.

  3. Stackoverflow beantwortet die Frage, ob man Tabs oder Spaces nutzen könnte mit Einkommensstatistik
  4. Nachhilfe für die Bootstrap Navbar
  5. Wie man sich in der Entwicklung einiges einfacher machen kann – dafür aber Abhängigkeiten in Kauf nehmen muss.

Was zum Lachen: I Am GROOT (Disskussion)

Kategorien
Code

Loading Indicator á la Youtube mit CSS

Loading-Balken
Der Plan

Nachdem ich eine vernüftige Ladeanimation gesucht habe, und bei allem immer irgendwie jQuery dranhängen musste, hab ich beschlossen, das ganze mal in lean zu lösen. Probleme dabei gibt es eigentlich nur im Bereich des Animationsstarts durch JS, dazu habe ich bei CSS-Tricks den passenden Tipp gefunden.

HTML:

<div class="loading-bar"></div>

CSS:

    .loading-bar {
        display: none;
        opacity: 0;
        position: absolute;

        top: 0;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;

        background: red;
        height: 0;
        animation-name: expand-width, fade;
        animation-duration: 1s, 4s;
        animation-delay: 0s, 1s;

        animation-iteration-count: 1;
    }

    .loading-bar.visible {
        display: block;
        opacity: 1;
        height: 2px;
    }

    @keyframes fade {
        from {
            height: 2px;
            opacity: 1;
        }
        to {
            height: 0;
            opacity: 0;
        }
    }

    @keyframes expand-width {
        from {
            width: 0;
        }
        to {
            width: 100%;
        }
    }

    @keyframes glow {
        from {
            box-shadow: 0 0 5px red,
            0 0 10px red,
            0 0 10px rgba(255, 165, 0, 1),
            0 0 20px rgb(255, 244, 0);
        }
        to {
            box-shadow: none;
        }

    }

    .loading-bar.visible:before {
        box-shadow: none;

        position: absolute;
        right: 0;
        content: "";
        display: block;
        height: 2px;
        width: 8px;
        animation-name: glow;
        animation-duration: 5s;
        animation-iteration-count: 1;
    }

 

Javascript:

    var links = document.querySelectorAll( 'a' ),
            linkslen = links.length;

    for ( var link = 0; link < linkslen; link++ ) {

        links[link].addEventListener( 'click', function ( e ) {
            var lb = document.querySelectorAll( '.loading-bar' )[0];
            lb.classList.remove( 'visible' );
            //noinspection SillyAssignmentJS
            // triggers reflow for animation restart
            lb.offsetHeight = lb.offsetHeight;
            lb.classList.add( 'visible' );
        }, false )
    }

Edit am 29.12.: Ich habe den Code mal ein bisschen lesbarer und einfacher gemacht. Dazu habe ich das innere DIV entfernt, dass CSS zusammengeführt und das JS ein bisschen lesbarer gemacht. Mein Partial aus meinem Hugo-Projekt habe ich mal als Gist online gestellt. Sichergestellt sein sollte, dass das Partial so eingefügt wird, dass .loading-bar direktes Kind-Element von BODY ist. Ansonsten müssen ggf. die Styles angepasst werden.