Heim Web-Frontend H5-Tutorial So implementieren Sie den Bildwechsel im HTML5-Canvas (Code)

So implementieren Sie den Bildwechsel im HTML5-Canvas (Code)

Oct 26, 2018 pm 02:52 PM
图片切换

Der Inhalt dieses Artikels befasst sich mit der Implementierung von Bildwechsel (Code) in der HTML5-Leinwand. Ich hoffe, dass er für Freunde hilfreich ist.

Als ich heutzutage nach Canvas recherchierte, um dynamische Hintergründe zu erstellen, stellte ich fest, dass dieses Ding mit einer kleinen Änderung in eine Bildwechselfunktion umgewandelt werden kann. Es kann die dynamische Änderung des src-Attributs des img-Tags ersetzen um die Bild-Timing-Umschaltfunktion zu erreichen. Hier ist zuerst der Code:

function switchPic(containerId, pics, {
 speed = 1000,
 width = 100,
 height = 100,
 callback = function(pic) {}
} = {}) {
//判断
 if (!containerId || !pics) 
 throw new Error ("TypeError: switchPic--> 
  containerId or pics is undefined!");
 if(typeof containerId !== "string" || 
    {}.toString.call(pics) !== "[object Array]" )
 throw new Error ("TypeError: switchPic--> 
  containerId is not string or pics is not array!");
 //制作canvas
 let canvas = document.createElement("canvas");
 canvas.width = width;
 canvas.height = height;
 canvas.style.cursor = "pointer";
 //放入canvas
 document.querySelector("#" + containerId).appendChild(canvas);
 ctx = canvas.getContext("2d");
 let img = new Image(),
     timer = null,
     i = 1,
     change = function() {
       img.src = pics[i - 1];
       img.onload = function() {
         ctx.clearRect(0, 0, width, width);
//动态背景图这里可能需要修改,如果帧图都在一张图片中,这就需要裁剪显示,再多几个参数了
         ctx.drawImage(img, 0, 0, width, width);
         i++;
         if(i > pics.length) i = 1;
/*这里动态背景图是动画效果,所以用requestAnimationFrame比计时器更好;
  而且切换图片显示需要速度控制,所以计时器适用;
*/
         timer = setTimeout(change, speed);
        }
      };
 timer = setTimeout(change, speed);
 canvas.addEventListener("mouseenter", function() {
   canvas.title = img.src;
   clearTimeout(timer);
 })
 canvas.addEventListener("mouseleave", function() {
   timer = setTimeout(change, speed);
 })
 canvas.addEventListener("click", function(event) {
   callback.call(this, img.src);
 })
}
Nach dem Login kopieren

Codeerklärung:

1 Der Parameter „containerId“ ist die Container-ID, die die Leinwand enthält, „pics“ ist das Array der Bildquelle, diese beiden sind erforderlich, {speed = 1000,width = 100,height = 100,callback = function(pic) {} } Dies ist eine Reihe optionaler Felder. Sie können erkennen, was es tut, indem Sie sich den Namen ansehen. Die Reihenfolge ist Wechselgeschwindigkeit, Leinwandbreite und -höhe (. Hier einstellen Das angezeigte Bild hat auch die gleiche Größe. Versuchen Sie daher, es entsprechend der Pixelgröße des Bildes einzustellen, damit es nicht verwischt. Die Rückruffunktion wird ausgeführt, wenn auf das aktuelle Bild geklickt wird Quelladresse des aktuellen Bildes;

2. Es gibt nichts weiter zu erläutern. Durch das Hinzufügen eines Abhörereignisses wird sichergestellt, dass die Maus nicht weiterschaltet Wenn es herausgezogen wird, klicken Sie, um die Rückruffunktion zu aktivieren.

3. Hier sind die Unterschiede zwischen der img-Tag-Src-Umschaltversion: Erstens wird es nicht zu viel Neuzeichnen geben Wenn der Browser umgeschaltet wird, können Sie sich den F12-Datensatz selbst ansehen, aber die Verwendung von Canvas führt nicht zum Neuzeichnen. Zweitens kann der Umschaltstil einfacher eingestellt werden ist komplizierter und Sie benötigen Canvas-Kenntnisse.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Bildwechsel im HTML5-Canvas (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann in JavaScript ein nahtloser Links-Rechts-Schiebeeffekt von Bildern erzielt werden? Wie kann in JavaScript ein nahtloser Links-Rechts-Schiebeeffekt von Bildern erzielt werden? Oct 19, 2023 am 08:56 AM

Wie kann man mit JavaScript einen nahtlosen Wechseleffekt von Bildern nach links und rechts erzielen? Mit der Entwicklung des Internets werden Bilder im Webdesign häufig als wichtige Elemente der Seite verwendet. Der Wechseleffekt von Bildern spielt eine wichtige Rolle für die Schönheit und Interaktivität der Seite. In diesem Artikel werden wir anhand konkreter Codebeispiele untersuchen, wie Sie mit JavaScript einen nahtlosen Links-Rechts-Schiebeeffekt von Bildern erzielen können. Um den Effekt des nahtlosen Verschiebens von Bildern nach links und rechts zu erzielen, müssen Sie zunächst Folgendes tun: Erstellen Sie einen Bildcontainer und verwenden Sie ihn

Methoden und Techniken zum Erzielen von Bildkarusselleffekten durch reines CSS Methoden und Techniken zum Erzielen von Bildkarusselleffekten durch reines CSS Oct 18, 2023 am 08:27 AM

Methoden und Techniken zur Erzielung von Bildkarusselleffekten durch reines CSS Im modernen Webdesign werden Bildkarusselleffekte häufig verwendet, um mehrere Bilder oder Anzeigen nacheinander anzuzeigen. Es gibt viele Möglichkeiten, einen Bildkarusselleffekt zu erzielen. Eine der häufigsten Methoden ist die Verwendung von CSS-Animationen. In diesem Artikel werden Methoden und Techniken zum Erzielen von Bildkarusselleffekten durch reines CSS vorgestellt und spezifische Codebeispiele bereitgestellt. 1. HTML-Struktur Zunächst müssen die Bildelemente für das Karussell in HTML vorbereitet werden. Hier ist ein einfaches Beispiel für eine HTML-Struktur: &l

So verwenden Sie HTML, CSS und jQuery, um einen responsiven Bildwechseleffekt zu erstellen So verwenden Sie HTML, CSS und jQuery, um einen responsiven Bildwechseleffekt zu erstellen Oct 24, 2023 am 08:01 AM

Das Erstellen responsiver Bildwechseleffekte ist eine der häufigsten Aufgaben in der Frontend-Entwicklung. In diesem Artikel verwenden wir HTML, CSS und jQuery, um diesen Effekt zu erzielen. Nachfolgend finden Sie detaillierte Schritte und spezifische Codebeispiele. HTML-Struktur Zunächst müssen wir die für den Bildwechseleffekt erforderliche HTML-Struktur erstellen. Mit dem folgenden Codebeispiel können Sie eine einfache HTML-Struktur erstellen. <divclass="slider-container">

So erzielen Sie mit Layui einen Bildwechsel-Karusselleffekt So erzielen Sie mit Layui einen Bildwechsel-Karusselleffekt Oct 26, 2023 am 11:52 AM

Für die Verwendung von Layui zur Erzielung des Bildwechsel-Karusselleffekts ist ein spezifischer Codebeispieltitel erforderlich: Detaillierte Erläuterung der Verwendung von Layui zur Erzielung des Bildwechsel-Karusselleffekts Einführung: Im modernen Webdesign ist der Bildwechsel-Karusselleffekt zu einem der häufigsten Elemente geworden. Durch den Einsatz von Bildkarussells können Webseiten dynamischer und attraktiver gestaltet werden. In diesem Artikel wird Layui als Grundlage verwendet, um vorzustellen, wie der Bildwechsel-Karusselleffekt erzielt wird, und um spezifische Codebeispiele zu geben. 1. Einführung in die Layui-Karussellkomponente Layui ist ein klassisches Front-End-UI-Framework, das Folgendes umfasst:

Wie kann ich mit JavaScript den Farbverlaufseffekt beim Bildwechsel erzielen? Wie kann ich mit JavaScript den Farbverlaufseffekt beim Bildwechsel erzielen? Oct 21, 2023 am 09:33 AM

Wie kann ich mit JavaScript den Farbverlaufseffekt beim Bildwechsel erzielen? Mit der Entwicklung des Internets legt das Website-Design immer mehr Wert auf das Benutzererlebnis. Der Bildwechsel ist einer der häufigsten interaktiven Effekte auf Websites, der die Aufmerksamkeit der Benutzer besser erregen kann. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript den Farbverlaufseffekt beim Bildwechsel erzielen, und es werden spezifische Codebeispiele bereitgestellt. Bevor wir beginnen, müssen wir einige Bildressourcen vorbereiten. Angenommen, wir haben drei Bilder, nämlich „image1.jpg“, „

Wie kann man mit Vue Bildwechsel und Karusselleffekte erzielen? Wie kann man mit Vue Bildwechsel und Karusselleffekte erzielen? Aug 18, 2023 pm 04:57 PM

Wie kann man mit Vue Bildwechsel und Karusselleffekte erzielen? Vue ist ein JavaScript-Framework zum Erstellen von Benutzeroberflächen, das eine elegante und effiziente Möglichkeit bietet, Daten und Interaktionslogik in Webanwendungen zu verwalten. Eine der vielen großartigen Funktionen von Vue ist, dass es problemlos Bildwechsel und Karusselleffekte bewältigen kann. In diesem Artikel stellen wir vor, wie Sie mit Vue diese Effekte erzielen. Zunächst müssen wir einige grundlegende HTML-Strukturen und -Stile für die Anzeige von Bildern vorbereiten. Wir können <i verwenden

Wie kann man mit JavaScript nahtlose Links- und Rechts-Schiebeeffekte von Bildern erzielen und gleichzeitig Zoom- und Fade-Animationen hinzufügen? Wie kann man mit JavaScript nahtlose Links- und Rechts-Schiebeeffekte von Bildern erzielen und gleichzeitig Zoom- und Fade-Animationen hinzufügen? Oct 25, 2023 am 09:39 AM

Wie kann man mit JavaScript nahtlose Links- und Rechts-Schiebeeffekte von Bildern erzielen und gleichzeitig Zoom- und Fade-Animationen hinzufügen? Bei der Website-Entwicklung ist der Gleitwechseleffekt von Bildern eine sehr häufige Anforderung. Hier stellen wir vor, wie man mit JavaScript einen nahtlosen Links- und Rechtswechseleffekt erzielt und gleichzeitig Zoom- und Fade-Animationen hinzufügt. In diesem Artikel finden Sie detaillierte Codebeispiele, damit Sie diesen Effekt problemlos erzielen können. Zuerst müssen wir einen Container in HTML vorbereiten, um Bilder zu platzieren, und die Container festlegen

So erzielen Sie mit Layui Bildwechsel- und Streckungseffekte So erzielen Sie mit Layui Bildwechsel- und Streckungseffekte Oct 25, 2023 am 08:13 AM

So erzielen Sie mit Layui Bildwechsel- und Streckungseffekte. Mit der rasanten Entwicklung der Web-Front-End-Technologie werden immer mehr Frameworks und Bibliotheken verwendet, um die Funktionen von Webseiten zu verschönern und zu verbessern. Unter diesen ist Layui ein sehr beliebtes Front-End-Framework, das umfangreiche UI-Komponenten und benutzerfreundliche Funktionserweiterungen bietet. In diesem Artikel wird erläutert, wie Sie mit Layui Bildwechsel- und Streckungseffekte erzielen, und es werden spezifische Codebeispiele aufgeführt. 1. Implementierung der HTML-Struktur für den Bildwechseleffekt Zuerst müssen wir einige HTML-Strukturen vorbereiten

See all articles