【问题标题】:Converting jquery "if" statement to "switch"将jquery“if”语句转换为“switch”
【发布时间】:2016-03-03 04:49:50
【问题描述】:

我正在尝试将我的 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;
}

有人能指出我做错了什么吗?

【问题讨论】:

  • 我不认为语法是这样的

标签: jquery if-statement switch-statement


【解决方案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;
}

【讨论】:

  • 另一个问题,您认为从技术上讲,在这种情况下,“切换”的方式会比“如果”更快(对 CPU 的负担更少)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多