suchen
HeimWeb-Frontendjs-TutorialSo verwenden Sie das Bildanzeige-Plug-in in jQuery

In diesem Artikel erfahren Sie hauptsächlich eine detaillierte Analyse der Entwicklung des jQuery-Bildbetrachtungs-Plug-ins Magnify. Freunde in Not können sich darauf beziehen.

Vorwort

Aufgrund einiger besonderer Geschäftsanforderungen habe ich nach mehr als einem Monat des Ruhens und Nachdenkens dieses jQuery-Bildbetrachter-Plug-in Magnify entwickelt, das alle Funktionen des Windows-Fotos implementiert Viewer-Funktionen wie Ziehen, Ändern der Größe und Maximieren modaler Fenster, Zoomen, Drehen, Schwenken und Tastatursteuerung von Bildern usw. Bei den Stilen des Plug-Ins handelt es sich ausschließlich um grundlegendes CSS, das sehr einfach anzupassen und leicht an Ihren Lieblingsstil angepasst werden kann. React- und Vue-bezogene Versionen von Plug-Ins werden später veröffentlicht. In diesem Artikel werden hauptsächlich die Eigenschaften und die Verwendung von Plug-Ins vorgestellt. Einzelheiten zur Plug-In-Entwicklung werden in nachfolgenden spezifischen Artikeln erläutert.

Github: https://github.com/nzbin/magnify

Website: https://nzbin.github.io/magnify

Entwicklungsnotizen

Aufgrund meines vollen Arbeitsplans komme ich fast jeden Tag um zehn Uhr abends nach Hause und fange dann an, Plug-Ins zu schreiben. Als ich ins Bett gehe, ist es bereits nach Mitternacht, und jetzt bin ich körperlich erschöpft und geistig. Da keine relevanten Plug-Ins gefunden wurden, habe ich mir den Kopf zerbrochen, um über viele Themen unabhängig nachzudenken, wie z. B. das Skalieren von Bildern mit der Maus als Mittelpunkt, Einschränkungen bei der Bildbewegung beim Ändern der Größe des Popup-Fensters, Skalieren und Schwenken danach Bildrotation usw. und die Entwicklung von Plug-Ins. Am problematischsten sind die Details, und selbst die meiste Zeit wird damit verbracht, einzelne Funktionsfehler zu beheben.

Darüber hinaus liegt die größte Schwierigkeit bei der Entwicklung von Plug-Ins nicht in der Funktionsimplementierung, sondern darin, wie das Plug-In gestaltet wird und wie die Verwendung des Plug-Ins einfacher und bequemer gestaltet werden kann. Das Entwerfen von Plug-Ins steht nicht im Mittelpunkt dieses Artikels. Ich werde später einen speziellen Artikel schreiben, in dem Ideen für das Plug-In-Design vorgestellt werden.

Fast der gesamte Code des Plug-Ins passt die Breite, Höhe, den linken und oberen Rand des Popup-Fensters oder Bildes an, sodass das Kompatibilitätsproblem nicht groß ist. Es handelt sich hauptsächlich um ein 2D-Rotationsproblem IE 9 und niedriger müssen Filter verwenden, um dies zu erreichen. Um die Anpassung von Stilen zu erleichtern, gibt es viele Berechnungen relativer Positionen.

Magnify ist in einer Dateitrennungsmethode geschrieben und mithilfe von NPM-Plug-Ins verpackt. Es verwendet keine neue Syntax oder gängige Verpackungstools. Die Verwendung des npm-Tools ist zu einem Trend in der Projektentwicklung und Verpackung für die Veröffentlichung geworden.

Demonstration

Wenn Sie nicht auf die URL klicken möchten, um das Beispiel anzuzeigen, können Sie den Plug-in-Effekt über den CodePen unten anzeigen. Es gibt keinen Unterschied zwischen den beiden Methoden:

Wenn Sie CodePen aufgrund der Netzwerkgeschwindigkeit oder aus anderen Gründen nicht öffnen können, können Sie sich die Bilddemonstration unten ansehen.

Hauptfunktionen

Die Funktionen von Magnify können mit dem Windows Photo Viewer verglichen werden, der grundsätzlich alle erreichbaren Funktionen abdeckt.

1. Modales Fensterziehen

Wenn die Bildgröße nicht größer als der Anzeigebereich ist, können Sie auch das Popup-Fenster ziehen durch den Bildanzeigebereich. Dies ist dasselbe wie der QQ-Bildbetrachter.

2. Modale Fenstergrößenänderung

Es gibt einen kleinen Fehler in der aktuellen Größenänderung, aber es hat keinen Einfluss auf die Gesamtnutzung.

3. Maximieren Sie das modale Fenster

Zusätzlich zur Maximierung des Popup-Fensters ist auch in der frühen Entwicklungsphase entworfen Die Minimierungsfunktion wurde hinzugefügt, fühlte sich aber etwas geschmacklos an und wurde daher vorerst nicht hinzugefügt.

4. Bildskalierung

kann per Mausrad, Tasten, Tastatur usw. bedient werden.

5. Bildrotation

Die aktuelle Bildrotationsfunktion hat keinen Code hinzugefügt, um die folgenden Versionen zu unterstützen IE9.

6. Tastatursteuerung

Die Tasten für Vergrößern und Windows Photo Viewer sind die gleichen

Vorheriges Nächstes + Vergrößern - Verkleinern ctrl + alt + 0 Tatsächliche Größe ctrl + , Nach links drehen ctrl + . Nach rechts drehen 7. Vollbildanzeige

Vollbild vergrößern Die Bildschirmanzeige implementiert nur grundlegende Anzeigefunktionen und implementiert noch keine automatische Foliendrehung. Verwenden Sie die Tastatur, um Bilder im Vollbildmodus zu steuern.

So verwenden Sie

Die Verwendung von Magnify unterscheidet sich nicht von der der meisten anderen Lightbox-Plug-Ins. Wenn Sie es gewohnt sind, andere Plug-Ins zu verwenden, gibt es keine Hindernisse für die Verwendung Vergrößern.

1. Dateien, auf die verwiesen werden muss

<link href="/path/to/magnify.css" rel="external nofollow" rel="stylesheet">
<script src="/path/to/jquery.js"></script>
<script src="/path/to/jquery.magnify.js"></script>

Magnify verwendet standardmäßig das Font-Awesome-Symbol, daher muss auf die CSS-Datei von Font-Awesome verwiesen werden. Wenn Sie andere Symbole verwenden möchten, können Sie den Symbolparameter der Optionen ändern. In einer späteren Version kann ich benutzerdefinierte Schriftart-Symboldateien hinzufügen oder SVG-Symbole verwenden.

<link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="external nofollow" rel="stylesheet">

2.HTML-Struktur

Magnify 默认使用以下结构,这样的结构可以做兼容处理,也是大多数 lightbox 使用的结构。

<a data-magnify="gallery" href="big-1.jpg" rel="external nofollow" >
 <img  src="/static/imghwm/default1.png"  data-src="small-1.jpg"  class="lazy"   alt="So verwenden Sie das Bildanzeige-Plug-in in jQuery" >
</a>
<a data-magnify="gallery" href="big-2.jpg" rel="external nofollow" >
 <img  src="/static/imghwm/default1.png"  data-src="small-2.jpg"  class="lazy"   alt="So verwenden Sie das Bildanzeige-Plug-in in jQuery" >
</a>
<a data-magnify="gallery" href="big-3.jpg" rel="external nofollow" >
 <img  src="/static/imghwm/default1.png"  data-src="small-3.jpg"  class="lazy"   alt="So verwenden Sie das Bildanzeige-Plug-in in jQuery" >
</a>

也可以使用下面更简洁的结构

<img  src="/static/imghwm/default1.png"  data-src="big-1.jpg"  class="lazy"  data-magnify="gallery"   alt="So verwenden Sie das Bildanzeige-Plug-in in jQuery" >
<img  src="/static/imghwm/default1.png"  data-src="big-2.jpg"  class="lazy"  data-magnify="gallery"   alt="So verwenden Sie das Bildanzeige-Plug-in in jQuery" >
<img  src="/static/imghwm/default1.png"  data-src="big-3.jpg"  class="lazy"  data-magnify="gallery"   alt="So verwenden Sie das Bildanzeige-Plug-in in jQuery" >

Magnify 的 HTML 结构包含以下几个选项

添加 src 属性可以链接到大图。如果在 <a></a> 标签中使用,它会覆盖 href 属性的值。添加 data-caption 属性可以显示标题。如果你不使用这个属性,插件会显示 URL 中的图片名。添加 data-group 属性可以对图片分组。 3.初始化插件

如果在 HTML 中添加 data-magnify 属性,插件会自动初始化。

手动初始化插件的方法和所有 jQuery 插件一样:

$(&#39;[data-magnify=gallery]&#39;).magnify(options);

参数配置

options = {
  draggable: true,
  resizable: true,
  movable: true,
  keyboard: true,
  title: true,
  modalWidth: 320,
  modalHeight: 320,
  fixedContent: true,
  fixedModalSize: false,
  initMaximized: false,
  gapThreshold: 0.02,
  ratioThreshold: 0.1,
  minRatio: 0.1,
  maxRatio: 16,
  headToolbar: [
   &#39;maximize&#39;,
   &#39;close&#39;
  ],
  footToolbar: [
   &#39;zoomIn&#39;,
   &#39;zoomOut&#39;,
   &#39;prev&#39;,
   &#39;fullscreen&#39;,
   &#39;next&#39;,
   &#39;actualSize&#39;,
   &#39;rotateRight&#39;
  ],
  icons: {
   maximize: &#39;fa fa-window-maximize&#39;,
   close: &#39;fa fa-close&#39;,
   zoomIn: &#39;fa fa-search-plus&#39;,
   zoomOut: &#39;fa fa-search-minus&#39;,
   prev: &#39;fa fa-arrow-left&#39;,
   next: &#39;fa fa-arrow-right&#39;,
   fullscreen: &#39;fa fa-photo&#39;,
   actualSize: &#39;fa fa-arrows-alt&#39;,
   rotateLeft: &#39;fa fa-rotate-left&#39;,
   rotateRight: &#39;fa fa-rotate-right&#39;
  }
}

关于插件参数的具体含义,我就不在此复制黏贴了,请大家参考 官方文档 的详细说明。如有问题,可以在此留言。

自定义样式

因为插件的样式比较简单,所以修改起来也非常容易。除了 Windows 照片查看器,QQ 的图片查看器也非常的高大上。我们只要简单修改就可以实现 QQ 图片查看器的效果,但是部分功能比如缩略图还没有实现。以下是实时演示:

面对这样的图片查看器足以令人心旷神怡~

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

Vue框架中有关goods组件开发

JS运动特效

MVVM框架如何解析双向绑定

JS中链式运动(详细教程)

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Bildanzeige-Plug-in in jQuery. 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
Von C/C nach JavaScript: Wie alles funktioniertVon C/C nach JavaScript: Wie alles funktioniertApr 14, 2025 am 12:05 AM

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

JavaScript -Engines: Implementierungen vergleichenJavaScript -Engines: Implementierungen vergleichenApr 13, 2025 am 12:05 AM

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Jenseits des Browsers: JavaScript in der realen WeltJenseits des Browsers: JavaScript in der realen WeltApr 12, 2025 am 12:06 AM

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Apr 11, 2025 am 08:23 AM

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript: Erforschung der Vielseitigkeit einer WebspracheJavaScript: Erforschung der Vielseitigkeit einer WebspracheApr 11, 2025 am 12:01 AM

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Die Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenDie Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenApr 10, 2025 am 09:33 AM

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Entmystifizieren JavaScript: Was es tut und warum es wichtig istEntmystifizieren JavaScript: Was es tut und warum es wichtig istApr 09, 2025 am 12:07 AM

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

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

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung