1

每次我将浏览器的大小调整为小于 1600x1020 时,是否可以减 1?

我知道我需要从 resize 函数开始,但是我该如何将新值存储在可以在新函数中使用的位置?

 var resizeNum = 100;
 if (window.width() < 1600 && width.height()){
   resizeNum - 1
  }

不知道该怎么做。

4

5 回答 5

2
var resizeNum = 100;
$(window).resize(function() {
    if(($(this).width() < 1600) && ($(this).height())) {
        resizeNum -= 1;
    }
});

每次调整窗口大小时都会调用它。随着它的大小调整,resizeNum每次都会减少1。

于 2013-07-12T19:05:27.273 回答
2

由于您显然想知道浏览器何时小于1600x1020 ,因此我同时检查了height以下width内容。还有4种方法可以从变量中减去 1:

//Sets number to -1 after any other use of the variable
var number = 0;
number--; //number = -1;

var number = 0;   
number-= 1; //number = -1;

var number = 0;   
number = number - 1; //number = -1;

//Sets number to -1 before any other use of the variable
var number = 0;   
--number; //number = -1;

演示: jsFiddle

JS:

var resizeNum = 100;

$(window).resize(function () {
    if ($(window).width() < 1600 || width.height() < 1020) {
        resizeNum--;
    }
    console.log(resizeNum);
});

请在使用此代码时删除 console.log,这只是为了证明它有效。

于 2013-07-12T19:08:23.140 回答
1

您可以使用 jquery 来做到这一点,您需要先添加 jquery 文件。

// global variable
var resizeNum = 100;

// to check browser small than 1600 x 1020
var flag = 0;

$(document).ready(function(){
    decrementNum();
});

function decrementNum()
{
    var wW = $(window).width();
    var wH = $(window).height();

    if(wW < 1600 && wH < 1020 && flag == 0)
    {
        resizeNum--;
        flag = 1;
    }
    else if(wW > 1600 && wH > 1020)
    {
        flag = 0;
    }
}

$(window).resize(function(){
     decrementNum();
});
于 2013-07-12T19:15:45.943 回答
0

有两种方法可以做到这一点。或者,您可以在最外层的任何位置声明 var(当然不在函数本身中 - 可能在页面之外),或者您可以学习使用 jQuery(它使用一些设计精美且完全无作用域的变量)。此外,这条线需要resizeNum = resizeNum-1不仅仅是resizeNum -1

于 2013-07-12T19:06:10.123 回答
0

通过这个http://api.jquery.com/width。这可能有点帮助

用这个

$(window).width();   // returns width of browser viewport 
$(document).width(); // returns width of HTML document

还有这个

parseInt(resizeNum)-1
于 2013-07-12T19:09:23.643 回答