Qual è la (funzione ($)) per in MooTools Javascript
-
05-07-2019 - |
Domanda
Stavo leggendo un post di David Walsh su creando un menu sprite con MooTools . Sono abbastanza nuovo in MooTools e non ho capito come ha aperto la sua sceneggiatura. In particolare, cos'è
(function($){
..
})(document.id)
È un tipo di chiusura JS?
Ecco lo script completo se non vuoi seguire il link:
(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);
Soluzione
(function($){
..
})(document.id)
Se inserisci una funzione dentro (), JavaScript eseguirà automaticamente quella funzione. Aggiungendo (document.id) sta anche passando un parametro a quella funzione. Ad esempio ..
(function(message){
alert(message);
})( 'Hello World!' );
Avrebbe avvisato Hello World!
Altri suggerimenti
Assegna document.id
(una funzione creata da MooTools) a una variabile locale (denominata " $ ") dell'ambito della funzione anonima.
È una funzione chiusa ad esecuzione automatica che utilizza Mootools "modalità provvisoria" " ;.