if语句 - $(window).width()在Chrome和IE中运行不佳

时间:2013-06-11 12:57:44

标签: jquery if-statement viewport

美好的一天

我想根据窗口宽度或视口大小执行2个语句: 这是我的代码:

var w = $(window).width();

if (w > 767){run myFunc()};

if (w < 767){run myFunc()}; //But this function has different CSS Values

问题:

在Chrome和IE(不是FF)中,只执行第二个if语句,视口大小是......

为什么?

由于

3 个答案:

答案 0 :(得分:2)

我想你忘了将它包装在resize event-handler ...

对我来说就像一个魅力:

var myFunc = function(arg){
    console.log(arg);
};

$(window).resize(function(){
    var w = $(window).width();

    if (w > 767) myFunc(1);
    if (w < 767) myFunc(2);
});

http://fiddle.jshell.net/Ms3u5/

答案 1 :(得分:1)

你可以试试这个......

function myFunc() {
  if ($(window).width() > 767) {
  //then do something
  }else{
  //do something else
  }
}

...但我也同意yckart,你可能想要包括重新调整大小的方法。

答案 2 :(得分:0)

这有效:

var w = window.innerWidth;