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);
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top