Was ist die (function ($)) für in MooTools Javascript
-
05-07-2019 - |
Frage
Ich war ein Beitrag von David Walsh Lesen auf ein Sprite-Menü mit MooTools zu schaffen. Ich bin ziemlich neu in MooTools, und es verstand nicht, die Art, wie er sein Drehbuch geöffnet. Insbesondere was ist
(function($){
..
})(document.id)
Ist es eine Art von JS Schließung?
Hier ist die vollständige Skript, wenn Sie nicht wollen, den Link folgen:
(function($) {
window.addEvent('domready',function() {
$('nav').getElements('li').each(function(li) {
//settings
var link = li.getFirst('a');
//fix background image
if(!li.hasClass('current')) {
link.setStyle('background-image','none');
}
//utility div
var div = new Element('div',{
'class': 'nav-' + li.get('id'),
opacity: 0
}).inject(li);
//background imagery
li.addEvents({
mouseenter: function() {
div.fade('in');
},
mouseleave: function() {
div.fade('out');
},
mousedown: function() {
div.addClass('nav-' + li.get('id') + '-click');
},
mouseup: function() {
div.removeClass('nav-' + li.get('id') + '-click');
}
});
});
});
})(document.id);
Lösung
(function($){
..
})(document.id)
Wenn Sie eine Funktion setzen in () wird JavaScript automatisch diese Funktion ausführen. Durch die Zugabe von (document.id) er vergeht auch einen Parameter für diese Funktion. Zum Beispiel ..
(function(message){
alert(message);
})( 'Hello World!' );
Möchten Hallo Welt! Alarmieren
Andere Tipps
Es ordnet document.id
(eine Funktion von MooTools erstellt) auf eine lokale Variable (mit dem Namen „$“) der anonymen Funktion des Oszilloskops.
Es ist eine Auto-Ausführung geschlossene Funktion Mootools "Dollar abgesicherten Modus" verwendet wird.