2016-03-03 96 views
0

我想將if語句轉換爲switch;到目前爲止,沒有運氣:將jquery「if」語句轉換爲「switch」

if (myapp_config.thisDevice == 'desktop') { 
 

 
    var primaryNavHeight = $('#primary-nav').height() + app_get_header_height, 
 
    pageWrapperHeight = $('#page-wrapper').height(); 
 

 
    if (primaryNavHeight > pageWrapperHeight) { 
 
    $('#page-wrapper').css("min-height", primaryNavHeight + "px"); 
 
    } 
 
    if (primaryNavHeight < pageWrapperHeight) { 
 
    $('#page-wrapper').css("min-height", $(window).height() + "px"); 
 
    } 
 

 
}

而且到目前爲止,我已經試過如下:

switch (myapp_config.thisDevice == 'desktop') { 
 
    case (primaryNavHeight > pageWrapperHeight): 
 
    // do stuff 
 
    $('#page-wrapper').css("min-height", primaryNavHeight + "px"); 
 
    break; 
 
    case (primaryNavHeight < pageWrapperHeight): 
 
    // do stuff 
 
    $('#page-wrapper').css("min-height", primaryNavHeight + "px"); 
 
    break; 
 
}

會有人好心地指出我什麼我我做錯了嗎?

+0

我不認爲這樣的語法工作 –

回答

1

您沒有計算primaryNavHeight和pageWrapperHeight。這可能是問題所在。

var primaryNavHeight = $('#primary-nav').height() + app_get_header_height, 
    pageWrapperHeight = $('#page-wrapper').height(); 


switch (myapp_config.thisDevice == 'desktop') { 
    case (primaryNavHeight > pageWrapperHeight): 
    // do stuff 
    $('#page-wrapper').css("min-height", primaryNavHeight + "px"); 
    break; 
    case (primaryNavHeight < pageWrapperHeight): 
    // do stuff 
    $('#page-wrapper').css("min-height", primaryNavHeight + "px"); 
    break; 
} 
+0

謝謝你的工作!學到了新東西! – user1467439

+0

另一個問題,你認爲技術上在這種情況下,「切換」的方式將會比「如果」更快(對CPU的徵稅更少)嗎? – user1467439