Beispielcode für den Anzeigeeffekt zum Schütteln und Vergrößern von JS-Albumbildern

Beispielcode für den Anzeigeeffekt zum Schütteln und Vergrößern von JS-Albumbildern

Im vorherigen Artikel wurde erläutert, wie Sie mit JS einen einfachen Schütteleffekt erzielen. Wenn Sie interessiert sind, klicken Sie hier, um ihn zu lesen.

Heute werde ich den Anzeigeeffekt des Schüttelns und Vergrößerns von JS-Albumbildern mit Ihnen teilen. Das Effektbild ist wie folgt:

var xm;
varym;
 
/* ==== onmousemove-Ereignis ==== */
Dokument.onmousemove = Funktion(e){
	wenn(Fenster.Ereignis) e=Fenster.Ereignis;
	xm = (Beispiel || e.clientX);
	ym = (ey || e.clientY);
}
 
/* ==== Fenstergröße ändern ==== */
Funktion Größe ändern() {
	wenn(diapo)diapo.resize();
}
onresize = Größe ändern;
 
/* ==== Deckkraft ==== */
setOpacity = Funktion(o, alpha){
	wenn (o.filters) o.filters.alpha.opacity = alpha * 100; sonst o.style.opacity = alpha;
}
 
 
 
/* ===== Skript einkapseln ==== */
diapo = {
	Ö: [],
	Gleichstrom: 0,
	Bild: 0,
	txt: 0,
	N: 0,
	xm: 0,
	ym: 0,
	nx: 0,
	ny: 0,
	nw: 0,
	nh: 0,
	rs: 0,
	rsB: 0,
	zo: 0,
	tx_pos: 0,
	tx_var: 0,
	tx_target: 0,
 
	/// Skriptparameter 
	Attraktion: 2,
	Beschleunigung: .9,
	Dämpfung: .1,
	ZoomÜber: 2,
	ZoomKlick: 6,
	Transparenz: .8,
	Schriftgröße: 18,
	//
 
	/* ==== Diapo-Größe ändern ==== */
	Größe ändern : Funktion(){
		mit(diesem){
			nx = DC.Linksversatz;
			ny = DC.OffsetTop;
			nw = DC.Offsetbreite;
			nh = DC.OffsetHöhe;
			txt.style.fontSize = Math.round(nh / Schriftgröße) + "px";
			wenn (Math.abs (rs-rsB) <100) für (var i = 0; i <N; i++) O[i].resize ();
			rsB = rs;
		}
	},
 
	/* ==== diapo erstellen ==== */
	CDiapo: Funktion (o) {
		/* ==== Initialisierungsvariablen ==== */
		dies.o = o;
		dies.x_pos = dies.y_pos = 0;
		dies.x_origin = dies.y_origin = 0;
		dies.x_var = dies.y_var = 0;
		dies.x_ziel = dies.y_ziel = 0;
		dies.w_pos = dies.h_pos = 0;
		dies.w_origin = dies.h_origin = 0;
		dies.w_var = dies.h_var = 0;
		dies.w_target = dies.h_target = 0;
		dies.over = falsch;
		dies.klicken = falsch;
 
		/* ==== Schatten erzeugen ==== */
		this.spa = document.createElement("span");
		this.spa.className = "spaDC";
		diapo.DC.appendChild(dieses.spa);
 
		/* ==== Miniaturbild erstellen ==== */
		dies.img = document.createElement("img");
		dies.img.className = "imgDC";
		dies.img.src = o.src;
		dies.img.O = dies;
		diapo.DC.appendChild(dieses.img);
		setOpacity(this.img, diapo.transparency);
 
		/* ==== Mausereignisse ==== */
		this.img.onselectstart = neue Funktion("return false;");
		this.img.ondrag = neue Funktion("return false;");
		dies.img.onmouseover = Funktion(){
			diapo.tx_target=0;
			diapo.txt.innerHTML=dies.Ooalt;
			dies.O.over=true;
			setOpacity(dies,dies.O.click?diapo.transparency:1);
		}
		dies.img.onmouseout = Funktion(){
			diapo.tx_target=-diapo.nw;
			dies.O.over=false;
			setOpacity(diese,diapo.transparenz);
		}
		dies.img.onclick = Funktion() {
			wenn(!dies.O.klick){
				wenn(diapo.zo && diapo.zo != dies) diapo.zo.onclick();
				dies.O.click = wahr;
				dies.O.x_origin = (diapo.nw - (dies.O.w_origin * diapo.zoomClick)) / 2;
				this.O.y_origin = (diapo.nh - (this.O.h_origin * diapo.zoomClick)) / 2;
				diapo.zo = dies;
				setOpacity(diese,diapo.transparenz);
			} anders {
				dies.O.click = falsch;
				dies.O.over = falsch;
				dies.O.resize();
				diapo.zo = 0;
			}
		}
 
		/* ==== Miniaturansichten basierend auf der Position der „imgsrc“-Bilder neu anordnen ==== */
		dies.resize = Funktion (){
			mit (diesem) {
				x_origin = o.offsetLeft;
				y_origin = o.offsetTop;
				w_origin = o.OffsetBreite;
				h_origin = o.OffsetHeight;
			}
		}
 
		/* ==== Animationsfunktion ==== */
		diese.position = funktion (){
			mit (diesem) {
				/* ==== Zielposition festlegen ==== */
				w_Ziel = w_Ursprung;
				h_Ziel = h_Ursprung;
				wenn(über){
					/* ==== Maus darüber bewegen ==== */
					w_Ziel = w_Ursprung * diapo.zoomOver;
					h_Ziel = h_Ursprung * diapo.zoomOver;
					x_Ziel = diapo.xm – w_pos / 2 – (diapo.xm – (x_Ursprung + w_pos / 2)) / (diapo.Attraktion*(Klick?10:1));
					y_Ziel = diapo.ym – h_pos / 2 – (diapo.ym – (y_Ursprung + h_pos / 2)) / (diapo.Attraktion*(Klick?10:1));
				} anders {
					/* ==== Maus raus ==== */
					x_Ziel = x_Ursprung;
					y_Ziel = y_Ursprung;
				}
				wenn(klicken){
					/* ==== geklickt ==== */
					w_Ziel = w_Ursprung * diapo.zoomClick;
					h_Ziel = h_Ursprung * diapo.zoomClick;
				}
 
				/* ==== magische Federgleichungen ==== */
				x_pos += x_var = x_var * diapo.Beschleunigung + (x_Ziel - x_pos) * diapo.Dämpfung;
				y_pos += y_var = y_var * diapo.Beschleunigung + (y_Ziel - y_pos) * diapo.Dämpfung;
				w_pos += w_var = w_var * (Diagonale.Beschleunigung * .5) + (w_Ziel - w_pos) * (Diagonale.Dämpfung * .5);
				h_pos += h_var = h_var * (Diagonale.Beschleunigung * .5) + (h_Ziel - h_pos) * (Diagonale.Dämpfung * .5);
				diapo.rs += (Math.abs(x_var) + Math.abs(y_var));
 
				/* ==== HTML-Animation ==== */
				mit (Bildstil) {
					links = Math.round(x_pos) + "px";
					oben = Math.round(y_pos) + "px";
					Breite = Math.round(Math.max(0, w_pos)) + "px";
					Höhe = Math.round(Math.max(0, h_pos)) + "px";
					zIndex = Math.round(w_pos);
				}
				mit(spa.style){
					links = Math.round(x_pos + w_pos * .1) + "px";
					oben = Math.round(y_pos + h_pos * .1) + "px";
					Breite = Math.round(Math.max(0, w_pos * 1,1)) + "px";
					Höhe = Math.round(Math.max(0, h_pos * 1,1)) + "px";
					zIndex = Math.round(w_pos);
				}
			}
		}
	},
 
	/* ==== Hauptschleife ==== */
	ausführen: Funktion(){
		diapo.xm = xm – diapo.nx;
		diapo.ym = ym - diapo.ny;
		/* ==== Untertitel-Animation ==== */
		diapo.tx_pos += diapo.tx_var = diapo.tx_var * .9 + (diapo.tx_target - diapo.tx_pos) * .02;
		diapo.txt.style.left = Math.round(diapo.tx_pos) + "px";
		/* ==== Bilder anim ==== */
		für (var i in diapo.O) diapo.O[i].position();
		/* ==== Schleife ==== */
		setTimeout("diapo.run();", 16);
	},
 
	/* ==== Bilder laden ==== */
	Bilder laden : Funktion(){
		// ===== Schleife, bis alle Bilder geladen sind =====
		var M = 0;
		für(var i=0; i<diapo.N; i++) {
			wenn(diapo.img[i].complete) {
				diapo.img[i].style.position = "relativ";
				diapo.O[i].img.style.visibility = "sichtbar";
				diapo.O[i].spa.style.visibility = "sichtbar";
				M++;
			}
			Größe ändern();
		}
		wenn(M<diapo.N) setTimeout("diapo.images_load();", 128);
	},
 
	/* ==== Init-Skript ==== */
	init : Funktion() {
		diapo.DC = document.getElementById("diapoContainer");
		diapo.img = diapo.DC.getElementsByTagName("img");
		diapo.txt = document.getElementById("Beschriftung");
		diapo.N = diapo.img.Länge;
		für (i = 0; i < diapo.N; i++) diapo.O.push (neu diapo.CDiapo (diapo.img[i]));
		diapo.resize();
		diapo.tx_pos = -diapo.nw;
		diapo.tx_target = -diapo.nw;
		diapo.images_load();
		diapo.run();
	}
}
 
/* ==== Skript starten ==== */
Funktion dom_onload() {
	wenn(document.getElementById("diapoContainer")) diapo.init(); sonst setTimeout("dom_onload();", 128);
}
dom_onload();

Damit ist dieser Artikel über den Beispielcode für JS-Albumbild-Verwacklungs- und Vergrößerungsanzeigeeffekte abgeschlossen. Weitere relevante JS-Bildvergrößerungs- und Verwacklungsinhalte finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • js-Methode zum Erzielen eines durch die Maus ausgelösten Bildverwacklungseffekts
  • js Shake-Effekt, wenn die Maus auf dem Bild platziert wird
  • js realisiert den Effekt, wenn Sie auf das Bild klicken, um es in der Mitte des Bildschirms anzuzeigen und zu vergrößern
  • Beispiel für die Verwendung von JavaScript zum Vergrößern und Verkleinern sowie zum Ziehen und Ablegen von Bildern
  • js, um einen Bildvergrößerungsanzeigeeffekt zu erzielen

<<:  Eine audiovisuelle Linux-Distribution, die Audiophile anspricht

>>:  So erstellen Sie eine MySQL-Datenbank (de1) mit Befehlen

Artikel empfehlen

Detaillierte Anweisungen zur Installation von Jenkins auf Ubuntu 16.04

1. Voraussetzungen JDK wurde installiert echo $PA...

CocosCreator Typescript macht Tetris-Spiel

Inhaltsverzeichnis 1. Einleitung 2. Mehrere wicht...

So verwenden Sie Xtrabackup zum Sichern und Wiederherstellen von MySQL

Inhaltsverzeichnis 1. Sicherung 1.1 Vollständig v...

Auszeichnungssprachen – Was lernen, nachdem man HTML gelernt hat?

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Detaillierte Erklärung zur Verwendung von Titel-Tags und Absatz-Tags in XHTML

XHTML-Überschriftenübersicht Wenn wir Word-Dokume...

So konvertieren Sie MySQL horizontal in vertikal und vertikal in horizontal

Daten initialisieren Tabelle löschen, wenn `test_...

Ausführliches Tutorial zur Installation von MySQL 8.0.19 (Windows 64 Bit)

Inhaltsverzeichnis MySQL initialisieren MySQL-Die...

Wie MySQL Milliarden von Datenverkehr unterstützt

Inhaltsverzeichnis 1 Master-Slave-Lese-/Schreibtr...

Detaillierte Erläuterung der vier Transaktionsisolationsebenen in MySQL

Die Testumgebung dieses Experiments: Windows 10+c...

Installieren Sie Zookeeper unter Docker (Standalone und Cluster).

Nachdem wir Docker gestartet haben, schauen wir u...

Einige Fähigkeiten, die Sie beim Erstellen von Webseiten kennen müssen

1. Z-Index ist in IE6 ungültig. In CSS wird die E...