2014-11-08 104 views
0

我已經制作了一些功能,讓用戶一旦點擊就可以進入該部分。我想要做的很好,堅持DRY原則,不要重複自己!在匿名函數中使用命名函數

當單擊菜單時,我想要關閉漢堡菜單,但我不想繼續將這一行代碼放入我曾做過的功能中。

因此,我怎麼養活我的命名函數名字進入我的匿名函數

所以我想滿足這種.... $(函數(menuCLose){ $(「漢堡包菜單」)。 removeClass('open'); });

到這些....

$('.sub-header ul #about-me, .burger-menu ul #about-me').click(function() { 
    $('html, body').animate({ 
    scrollTop: $('.about-me').offset().top 
}, 900); 
       }); 

$('.sub-header ul #personal-training, .burger-menu ul #personal-training').click(    function() { 

$('html, body').animate({ 
    scrollTop: $('.personal-training').offset().top 
    }, 900) 
}); 

回答

0

我不知道你怎麼想這樣做

$(function(menuCLose){ $('.burger-menu').removeClass('open'); }); 

但其實這別名$menuCLose所以,你可以使用menuCLose作爲一個選擇。它不會創建一個名爲menuCLose的函數,您可以將其作爲事件調用。現在,您可以撥打menuCLose('...jquery functions象下面這樣:

menuCLose('.burger-menu').removeClass('open'); 

使用傳統方法來代替:

function menuClose(){ 
    $('.burger-menu').removeClass('open'); 
} 

.....click(function(){ 
    menuClose(); 
}); 

保持簡單。