2014-11-07 28 views
1

我覺得這很簡單,但我對jQuery不夠熟悉。我有兩個函數,如果setHeader爲true,則運行click處理程序。如果setHeader爲false,那麼我想要做另一個動作。我試圖將真實的虛假案件分成兩種不同的方法,但不知道我會如何做到這一點。任何人有任何想法?新的jQuery所以代碼示例真的很感激。jQuery - 將布爾案例分解爲方法

function setHeader(set) { 
    if (set){ 
     $('.header').on('click', function(event){ 
      if($('.header').find('.submenu *').is(event.target)) return; 
      if($(this).hasClass('active')) collapseItem($(this)); else expandItem($(this)); 
     }); 
    } else { 
     //do something 
    } 
} 

function init() { 
    if ($(window).width() <= 400) { 
     setHeader(true); 
    } else { 
     setHeader(false); 
    } 
} 
+0

你不能只是取代'的setHeader(真)'和'setHeaderNewVersion()'和'的setHeader(假)'和'doSomethingElse()'? – Thilo 2014-11-07 01:40:54

+0

@Thilo我有點困惑。無論如何,你可以發佈一個很新的jQuery代碼示例。 – 2014-11-07 01:43:39

回答

0
function setHeader() { 
     $('.header').on('click', function(event){ 
      if($('.header').find('.submenu *').is(event.target)) return; 
      if($(this).hasClass('active')) collapseItem($(this)); else expandItem($(this)); 
     });  
} 

function falseStatement(){ 
    console.log(false); 
} 

function init() { 
    if ($(window).width() <= 400) { 
     setHeader(); 
    } else { 
     falseStatement(); 
    } 
} 
+0

感謝您的回覆。雖然這並不是真正將真假案件分解爲兩種不同的方法。 – 2014-11-07 01:51:59

+0

你基本上調用兩個完全相同的if語句,儘管一個在另一個函數中? – TysonWolker 2014-11-07 02:01:26

0
($(window).width() <= 400) ? setHeader() : falseStatement();