1

再会

我想根据窗口宽度或视口大小执行 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 语句,视口大小无关紧要......

这是为什么?

谢谢

4

3 回答 3

4

我想你忘了把它包在一个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/

于 2013-06-11T13:03:07.323 回答
2

你可以试试这个...

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

...但我也同意 yckart,您可能打算包括重新调整大小的方法。

于 2013-06-11T13:05:30.910 回答
0

这有效:

var w = window.innerWidth;
于 2020-05-14T16:39:47.617 回答