Rob*_*und 1 javascript mootools
我正在阅读David Walsh关于使用MooTools创建精灵菜单的帖子.我是MooTools的新手,我不明白他打开剧本的方式.特别是,是什么
(function($){
..
})(document.id)
Run Code Online (Sandbox Code Playgroud)
它是一种JS闭包吗?
如果您不想关注该链接,请参阅完整脚本:
(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);
Run Code Online (Sandbox Code Playgroud)
(function($){
..
})(document.id)
Run Code Online (Sandbox Code Playgroud)
如果将函数放在inside()中,JavaScript将自动执行该函数.通过添加(document.id),他还将参数传递给该函数.例如..
(function(message){
alert(message);
})( 'Hello World!' );
Run Code Online (Sandbox Code Playgroud)
会警告Hello World!
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |