尝试在switch语句中使用$(window).resize(function()时出现问题

时间:2015-02-21 06:52:19

标签: javascript jquery css

我试图在某些情况下捕捉窗口大小,并且取决于宽度我使用此代码应用不同的左侧位置:

 case 'above':
        modal.css({
          'top': buttonPosition.top - modal.outerHeight() + scrollTop,
          'left': $(window).resize(function() { 
                      var i = $(this).width(); 
                      if (i > 735) { buttonPosition.left - 188;}
                      else {
                        buttonPosition.left - 100;
                      }
                    })
        });
        break;

但这似乎不适用任何东西,无论窗口的宽度如何,元素仍处于相同的位置,但当我删除$(window).resize(function()时,它的工作方式如下:

case 'above':
        modal.css({
          'top': buttonPosition.top - modal.outerHeight() + scrollTop,
          'left': buttonPosition.left - 188;
        });
        break;

但这是不允许我改变左侧位置取决于窗口大小,任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

尝试这样做:

case 'above':
        modal.css({
          'top': buttonPosition.top - modal.outerHeight() + scrollTop,
          'left': $(window).width() > 735 ? buttonPosition.left - 188 : buttonPosition.left - 100
        });
        break;

关于?的信息?语法请参见此处:Question Mark in JavaScript