Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in die Implementierung von $.fn und Bildlaufeffekten in jquery

不言
Freigeben: 2018-07-02 15:08:49
Original
1949 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Implementierung von $.fn und Bildlaufeffekten in jquery vor. Jetzt kann ich ihn mit Ihnen teilen

Vorwort

Ich glaube, jeder kennt den Bildlaufeffekt, wie unten gezeigt. Der js-Implementierungscode ist sehr kurz, aber wenn Sie möchten Um dies zu erreichen, müssen Sie die Grundlagen von jquery, IIFE, setInterval und der Verwendung von $.fn beherrschen:


$.fn-Verwendung in jquery

$.fn ist der Namespace von jquery. Wenn Sie den jquery-Quellcode studiert haben, ist es nicht schwierig, den folgenden Code im Quellcode zu finden:

jquery.fn=jquery.prototype={
 init:function(selector,context){
 /*
 *code
 */
 }
}
Nach dem Login kopieren

Also jquery.fn ist die Abkürzung von jquery.prototype. Die von unserem Quellcode aufgerufene Konstruktor-jquery()-Instanz ist tatsächlich eine Instanz von jquery.fn.init().

Der Code lautet wie folgt:

jQuery = function( selector, context ) {
 //jqeruy内部使用new创建返回另一个构造函数实力是为了省去调用jquery时前面的new,并在后面定义了别名$;
 //构造函数jquery()调用的是构造函数jQuery.fn.init()的实例
 return new jQuery.fn.init( selector, context );
},/*code*/
Nach dem Login kopieren

Danach wird der nachfolgende Code ausgeführt jquery.fn.init.prototype=jquery.fn, mit Der Prototyp des Konstruktors jquery Das Objekt überschreibt das Prototypobjekt von jquery.fn.init(), sodass jquery.fn.init-Instanzen auch auf die Prototypmethoden und -eigenschaften von jquery() zugreifen können.

So entwickeln Sie Plug-Ins: Verwenden Sie $.fn, um jquery zu erweitern, um neue Methoden zu generieren.

1. Sie können jquery.extend(object) verwenden, um die JQuery-Klasse selbst zu erweitern und der Klasse neue Methoden hinzuzufügen.

2. Verwenden Sie jquery.fn.extend(object), um Methoden zum JQuery-Objekt hinzuzufügen.

Im Folgenden wird jquery.extend(object) verwendet, um die JQuery-Klasse zu erweitern und Klassenmethoden hinzuzufügen:

$.extent({ 
 add: function(a,b){
 return a+b;
 }
})
Nach dem Login kopieren

Sie können es direkt in verwenden die Zukunft$.add(1,2);//3

Als nächstes verwenden Sie jquery.fn.extend(object), um eine Methode auf jquery.prototype zu erweitern.

$.fn.extend({
 [函数名]:fucntion(){
 /*code*/
 }
});
Nach dem Login kopieren

Sie können $(“p”). function name() in Zukunft direkt verwenden.

Verwenden Sie $.fn in jquery, um ein Plug-in zum Scrollen von Bildern zu kapseln

Dies ist ein weit verbreitetes Plug-in, das unnötig ist zu sagen: Auch wissen, was es ist. Doch wie Sie es konkret umsetzen, lesen Sie weiter unten. Der wichtigste Teil dieses Plug-Ins ist die Implementierung von js. HTML und CSS sind sehr einfach und werden nicht im Detail beschrieben. Wenn Sie mit einigen der folgenden Wissenspunkte bereits vertraut sind, können Sie diese optional überspringen.

setInterval()

setInterval()Sie können die Funktion kontinuierlich zum angegebenen Zeitpunkt aufrufen, bis clearInterval aufgerufen oder das Fenster geschlossen wird.

setInterval(fucntion(){/*code*/},[time])
clearInterval(val_of_seInterval)//参数为setInterval的返回值
Nach dem Login kopieren

Wenn wir also das Bild scrollen lassen und sich der Mauszeiger auf dem Bild befindet, um das Scrollen des Bildes zu stoppen, ist die Einstellung hier sehr einfach Fügen Sie ein on(‘mouseup,mouseover',fucntion(){})Ereignis hinzu.

Der spezifische Implementierungscode lautet wie folgt:

var time=setInterval(picTime,par.time);
/*
*code
*/
$(this).on('mouseup,mouseover',fucntion(){
 clearInterval(time);
 })
Nach dem Login kopieren

Stellen Sie sicher, dass Das Bild kann kontinuierlich scrollen

Beim Entwerfen möchten wir auf keinen Fall, dass die Bilder nach dem Scrollen verschwinden li.length. Legen Sie also einen Sentinel-Index fest.

var index=0;
fucntion picTime(){
 index++;
 if(index=li.length){
 index=0;
 }
 showpicture(index);
}
Nach dem Login kopieren

In ähnlicher Weise müssen wir beim Klicken auf das vorherige oder nächste Bild auch einen Wachposten festlegen, damit die Schleife fortgesetzt werden kann.

IIFE

Sie möchten auf jeden Fall, dass der Plug-In-Effekt sofort beim Laden des Browsers angezeigt wird, nachdem das Plug-In aufgerufen wurde die Definition. Dann müssen Sie IIFE verwenden, um dieses Plug-In zu erstellen, um ein schnelles Laden zu erreichen und nicht durch andere Codes beeinträchtigt zu werden. Da die Funktionsdeklaration in Klammern in js ungültig ist, wird die in Klammern eingeschlossene Funktion als Funktionsausdruck bezeichnet.

Die beiden Formen von IIFE sind wie folgt: Wenn am Ende einer anonymen Funktion Klammern erscheinen und Sie eine Funktion aufrufen möchten, wird die Funktion standardmäßig als Funktionsdeklaration verwendet. Wenn eine Funktion in Klammern eingeschlossen wird, wird die Funktion standardmäßig als Ausdruck und nicht als Funktionsdeklaration geparst.

(function(){}());
(function(){})();
Nach dem Login kopieren

Lassen Sie uns zunächst eine Frage von Niuke verwenden, um IIFE zu verstehen:

var myObject = { 
 foo: "bar", 
 func: function() { 
 var self = this; 
 console.log(this.foo); 
 console.log(self.foo); 
 (function() { 
 console.log(this.foo); 
 console.log(self.foo); 
 }()); 
}};
 myObject.func();
Nach dem Login kopieren

Weil Dies bezieht sich auf das myObject-Objekt, das erste gibt definitiv bar aus, und self ist die Variable davon, die diesem entspricht, also wird das zweite Objekt bar ausgegeben. Das ist das erste, das wir oben definiert haben Zu diesem Zeitpunkt muss die anonyme Funktion sofort ausgeführt werden. Dies zeigt auf das Fenster, sodass die Ausgabe nicht in ihrem eigenen Bereich auf Blockebene definiert ist nach oben gefunden, so dass der vierte Ausgang immer noch bar ist.

Version des JS-Codes für Bildspezialeffekte mit niedriger Konfiguration

Viele haben Kommentare hinzugefügt: Wenn Sie über solide Kenntnisse in JQuery und JS verfügen, Das ist es definitiv nicht. Es ist schwer.

rrree

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Lernen aller hilfreich sein. Bitte achten Sie auf PHP Chinesische Website!

Verwandte Empfehlungen:

jQuery realisiert den ziehbaren Wunschwandeffekt

jQuery und Canvas realisieren den flachen Wurf und die Farbdynamik der Kugel Transformationseffekt

Einführung in ein einfaches jQuery-Diashow-Plug-in (jquery-slider) basierend auf JSON-Formatdaten

Das obige ist der detaillierte Inhalt vonEinführung in die Implementierung von $.fn und Bildlaufeffekten in jquery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage