suchen
HeimWeb-FrontendCSS-TutorialDas Erstellen eines animierten Favicon

Dieser Artikel zeigt, wie ein animiertes Favicon mit JavaScript, HTML, erstellt wird<canvas></canvas> und ein bisschen Geometrie. Das Favicon, das das kleine Symbol neben einer Registerkarte Website angezeigt wird, kann dynamisch aktualisiert werden, um den Ladefortschritt anzuzeigen. Dies ist besonders nützlich, wenn lange Aufgaben im Hintergrund ausgeführt werden, z. B. das Hochladen von Fotos.

Das Erstellen eines animierten Favicon

Der Schlüssel ist, die zu nutzen<canvas></canvas> Element, um die Animation zu zeichnen und dann das Favicon mit dem gerenderten Bild zu aktualisieren. Der Artikel enthält eine Schritt-für-Schritt-Anleitung:

1. HTML -Setup: A hinzufügen a<canvas></canvas> Element und ein versteckt<link> Element für das Favicon zu Ihrem HTML. Der<canvas></canvas> Element wird verwendet, um die Animation zu zeichnen, und die<link> Das Element wird aktualisiert, um die Animation als Favicon anzuzeigen. Beide sind 32x32 Pixel, die Standard -Favicon -Größe. Zu Demonstrationszwecken wird eine Taste hinzugefügt, um die Animation auszulösen.

<link href="" rel="icon" type="image/png" width="32px">
<canvas height="32" hidden="" width="32"></canvas>
<button>Laden</button>

2. JavaScript -Animation: Der JavaScript -Code prüft erstmals die Unterstützung von Canvas. Eine Schaltfläche Klicken Sie auf Ereignishandler initiieren die Animation mithilfe von setInterval , um die drawLoader -Funktion in 60 ms -Intervallen aufzurufen.

 onload = () => {
  canvas = document.querySelector ('canvas'),
  context = canvas.getContext ('2d');
  if (!! Kontext) {
      // Leinwand unterstützt
  }
};

taste = document.querySelector ('button');
Button.AdDeVentListener ('klicken', function () {
    n = 0;
    loadingInterval = setInterval (Drawloader, 60);
});

3. Styling und Zeichnen: Ein linearer Gradient wird für die Zeilen der Animation definiert. Die drawLoader -Funktion löscht die Leinwand und zeichnet dann einen Teil eines quadratischen Quadrats und erhöht die gezogenen Linien schrittweise über vier 25-Interval-Phasen. Nach jedem Intervall wird der Canvas -Inhalt in ein PNG umgewandelt und als Favicon festgelegt.

 lass gradient = context.createlineargradient (0, 0, 32, 32);
gradient.addcolorstop (0, '#c7f0fe');
gradient.addcolorstop (1, '#56d3c9');
context.strokestyle = gradienten;
context.lineWidth = 8;

Funktion Drawloader () {
  mit (Kontext) {
    ClearRect (0, 0, 32, 32);
    beginPath ();
    // ... (Zeichnungslogik - siehe Originalartikel für vollständigen Code) ...
  }
  // ... (Favicon -Update -Logik - siehe Originalartikel für vollständigen Code) ...
}

Die vollständige Zeichnungslogik verwendet eine einfache Geometrie, um die Linienendpunkte für jede Phase der Animation zu berechnen. Der Artikel enthält die mathematischen Formeln und den entsprechenden Code. Der letzte Schritt besteht darin, den Canvas -Inhalt in eine Daten -URL zu konvertieren und das href<link> Element, um die Animation als Favicon anzuzeigen.

Der vollständige Code ist auf GitHub verfügbar (Links im Originalartikel). Die Technik kann angepasst werden, um verschiedene Formen und Füllstile für unterschiedliche Animationseffekte zu verwenden.

Das obige ist der detaillierte Inhalt vonDas Erstellen eines animierten Favicon. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Eine kleine Erinnerung daran, dass Pseudoelemente Kinder sind.Eine kleine Erinnerung daran, dass Pseudoelemente Kinder sind.Apr 19, 2025 am 11:39 AM

Hier ist ein Container mit einigen Kinderelementen:

Menüs mit 'dynamischen Trefferbereichen'Menüs mit 'dynamischen Trefferbereichen'Apr 19, 2025 am 11:37 AM

Flyout -Menüs! Das zweite, das Sie für ein Menü implementieren müssen, das ein Hover -Ereignis verwendet, um mehr Menüelemente anzuzeigen. Zum einen sollten sie

Verbesserung der Video -Zugänglichkeit mit WebVTTVerbesserung der Video -Zugänglichkeit mit WebVTTApr 19, 2025 am 11:27 AM

"Die Kraft des Web liegt in seiner Universalität. Zugang von allen unabhängig von Behinderung ist ein wesentlicher Aspekt."- Tim Berners-Lee

Wöchentliche Plattform News: CSS :: Marker Pseudo-Element, Vorrendern von Webkomponenten, Hinzufügen von Webmenting zu Ihrer WebsiteWöchentliche Plattform News: CSS :: Marker Pseudo-Element, Vorrendern von Webkomponenten, Hinzufügen von Webmenting zu Ihrer WebsiteApr 19, 2025 am 11:25 AM

In der Roundup:#039: DatePickers geben Tastaturbenutzer Kopfschmerzen, einen neuen Webkomponenten -Compiler, der bei der Bekämpfung von Fouc hilft.

Breite und flexible Gegenstände gut zusammen spielenBreite und flexible Gegenstände gut zusammen spielenApr 19, 2025 am 11:23 AM

Die kurze Antwort: Flex-Shrink und Flex-Basis sind wahrscheinlich das, worauf Sie suchen.

Positionieren Sie klebrige und TischkopfzeilePositionieren Sie klebrige und TischkopfzeileApr 19, 2025 am 11:21 AM

Sie können nicht positioniert werden: klebrig; A

Wöchentliche Plattformnachrichten: HTML -Inspektion in der Suchkonsole, globaler Umfang von Skripten, Babel Env fügt Standardabfrage hinzuWöchentliche Plattformnachrichten: HTML -Inspektion in der Suchkonsole, globaler Umfang von Skripten, Babel Env fügt Standardabfrage hinzuApr 19, 2025 am 11:18 AM

In der Welt der Web -Plattform -Nachrichten, in der die Google Search Console in der Welt der Web -Plattform -News -Such -Markup umgeht, lernen wir, dass benutzerdefinierte Eigenschaften einfacher werden können

IndieWeb und WebmentionsIndieWeb und WebmentionsApr 19, 2025 am 11:16 AM

Das IndieWeb ist eine Sache! Sie haben eine Konferenz und alles bekommen. Der New Yorker schreibt sogar darüber:

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool