jQuery: πώς θα οικοδομήσουμε μια επέκταση Plugin
Τρίτη, 23 Σεπτεμβρίου 2008Όπως όλα τα βιβλιοπωλεία του είδους αυτού, επίσης, jQuery σας δίνει τη δυνατότητα να επεκτείνει τις βασικές λειτουργίες, χρησιμοποιώντας πραγματικά plugin. Σεβασμός των κανόνων της λειτουργίας της, δηλαδή restituiendo πάντα ένα δείκτη για το επιλεγμένο ή jQuery ίδια, μπορείτε να γράψετε ένα plugin με λίγες γραμμές κώδικα. Πάρτε ως παράδειγμα τον κώδικα προτείνεται στην jQuery εναντίον όλων: ένα σημείο αναφοράς με 5 browser, η οποία (μετά τη διόρθωση που αναφέρθηκαν από Luke):
- ) . css ( 'cursor' , 'pointer' ) . click ( $ ( 'H2.dropdown »). Css (« δρομέας »,« δείκτη »). Κάντε κλικ στο κουμπί (
- λειτουργία () (
- $ ( this ) . next ( ) . is ( ':hidden' ) ) $ ( this ) . next ( ) . slideDown ( ) ; else $ ( this ) . next ( ) . slideUp ( ) ; if ($ (αυτό). επόμενη (). είναι ( "κρυφά")) $ (αυτό). επόμενη (). slideDown ()? άλλο $ (αυτό). επόμενη (). slideUp ()?
- )
- )?
Ipotizionamo θέλουν trasfromare αυτό το "χαρακτηριστικό" σε μια μέθοδο που καλείται άμεσα από jQuery. Καλέστε μας μέθοδο simpleAccordion() Πρώτα από όλα να δημιουργήσουμε ένα αρχείο με τη σύνταξη:
[nomeplugin].jquery.js
- . js jQuery. [nomeplugin]. js
Έτσι, στην περίπτωσή μας:
simpleaccordion.jquery.js
- jQuery. simpleaccordion. js
Εντός αυτού του αρχείου, γράψτε:
- / **
- * @ Συντάκτης χρήστη
- * /
- / **
- * SimpleAccordion Plugin demo
- *
- * /
- ( $ ) { (Function ($) (
- ( { $. Fn. Επεκτείνετε ((
- options ) { simpleAccordion: λειτουργία (επιλογές) (
- var αθετήσεις = (
- ταχύτητα: "κανονικό"
- )?
- ( defaults, options ) ; = $ var επιλογές. επέκταση (προεπιλογές, επιλογές)?
- ( function ( ) { επιστρέψετε αυτό. καθένα (λειτουργία () (
- this ) ; __e var = $ (αυτή)?
- . css ( 'cursor' , 'pointer' ) . click ( function ( ) { $ (__e). Css ( «δρομέας», «δείκτη»). Κάντε κλικ (λειτουργία () (
- $ ( this ) . next ( ) . is ( ':hidden' ) ) if ($ (αυτό). επόμενη (). είναι ( "κρυφά"))
- ) . next ( ) . show ( options. speed ) ; $ (Η). Επόμενο (). Παρουσίαση (options. ταχύτητας)?
- άλλος
- ) . next ( ) . hide ( options. speed ) ; $ (Η). Επόμενο (). Hide (options. ταχύτητας)?
- ))?
- ))?
- )
- ))?
- ; )) (JQuery)?
Αυτό το αρχείο, πρέπει να φορτώνονται μετά την jQuery βιβλιοθήκη, με τη συνήθη μορφή της καταχώρισης:
<script type="text/javascript" src="simpleaccordion.jquery.js"></script>
- src = "jquery.simpleaccordion.js" > </script> <script "text/javascript" τύπο = src = "jquery.simpleaccordion.js"> </ script>
Η "επέκταση" είναι πλέον διαθέσιμη και μπορούμε να το δοκιμάσετε με τον ακόλουθο κώδικα:
- ) . simpleAccordion ( ) . click ( function ( ) { $ ( this ) . css ( 'color' , 'red' ) } ) ; $ ( 'H2.dropdown »). SimpleAccordion (). Κάντε κλικ (λειτουργία () ($ (αυτό). Css (« χρώμα »,« κόκκινα')));
- / / Ή από την τροποποίηση των προκαθορισμένων
- ) . simpleAccordion ( { speed: 'slow' } ) . click ( function ( ) { $ ( this ) . css ( 'color' , 'red' ) } ) ; $ ( 'H2.dropdown »). SimpleAccordion ((ταχύτητα:« αργή »)). Κάντε κλικ (λειτουργία () ($ (αυτό). Css (« χρώμα »,« κόκκινα')));
Στο παραπάνω παράδειγμα, μπορείτε να αλλάξετε το χρώμα της h2 για να ελέγξετε ότι η επέκταση πληροί τα πρότυπα jQuery, επιστρέφοντας το puntantore το επιλεγμένο στοιχείο (στην περίπτωση αυτή h2.dropdown Ένας σκελετός είναι το εξής:
- / **
- * Σκίτσο jQuery Plugin
- *
- * /
- ( $ ) { (Function ($) (
- ( { $. Fn. Επεκτείνετε ((
- options ) { mymethod: λειτουργία (επιλογές) (
- ; var αθετήσεις = ()?
- ( defaults, options ) ; = $ var επιλογές. επέκταση (προεπιλογές, επιλογές)?
- ( function ( ) { επιστρέψετε αυτό. καθένα (λειτουργία () (
- this ) ; __e var = $ (αυτή)?
- / / Todo
- / / Default επιλογές σε "επιλογές"
- ))?
- )
- ))?
- ; )) (JQuery)?






















Luke είπε:
Γειά,
τέλος, κάποιος που γράφει στα ιταλικά πώς να οικοδομήσουμε ένα plugin με jQuery!
Μήπως να κάνω ένα ακόμα, μπορώ;

Συνήθως χρησιμοποιείται το πρότυπο jQuery. [Nomeplugin]. Js αντιστρέψετε ενώ στο [nomeplugin]. Jquery.js
Αυτό είναι
PS: Όταν μιλάμε για επιστροφή στην Actionscript3;
Giovambattista Fazioli δήλωσε:
@ Luke: κάποιος τελικά προσεκτικοί! Μου αρέσει αυτή η δήλωση ... στην πραγματικότητα στην επίσημη τεκμηρίωση του jQuery σύνταξη εμφανίζεται δείχνουν υπερβολικά, και συγκεκριμένα:
jquery.[insert name of plugin].jsΛάθος μου ... αν και πρέπει να πω, δεν θα πειράξει είτε
[insert name of plugin].jquery.jsνα αναφέρεται ως "επέκταση". Ωστόσο, να θυμάστε ότι οι άλλοι παίκτες, για τον τερματισμό της παράδειγμα, συνεργάζεται επίσης με το όνομα του αρχείου "λάθος".Ελάτε πίσω σύντομα να μιλήσουμε για Actionscript 3, ακόμη και - ελπίζω - σε Flash CS4? Μόλις κυκλοφόρησε
Simone D'AMICO »Blog Archive» Δημιουργήστε ένα plugin για jQuery, δήλωσε:
[...] Δημιουργήστε ένα plugin, το μόνο που έχουν γνώση των διακριτών Javascript. Giovambattista Fazioli αυτό το link έχει γράψει ένα ενδιαφέρον οδηγό για το πώς να δημιουργήσετε τη δική μας [...] plugins