2016-03-03 2 views
0

Я пытаюсь преобразовать оператор if if для переключения; Не до сих пор не повезло:Преобразование jquery "if" statement to "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