jQuery在jquery函数中将可选参数设置为0

时间:2013-11-18 20:17:18

标签: jquery

我有一个非常基本的jquery函数,它接受两个参数,maxWidth和minWidth。该 参数检查用户浏览器大小并根据其浏览器大小执行操作。

$.fn.browserWidth = function(maxWidth, minWidth) {
  maxWidth = maxWidth || 1100;    
  return document.documentElement.clientWidth >= maxWidth;
  return document.documentElement.clientWidth <= minWidth; 
};
})(jQuery);

第一个条件适用于正常的浏览器大小:

if(browserWidth(1099)){ //do something }

然而,第二个条件总是触发,但我只想让它在移动断点处触发

if(browserWidth(0,1099)){ //do something }

我将第一个参数设置为零是错误的吗?理想情况下,我甚至不想要第一个论点 并且只想在这种情况下检查minWidth。但是我还有其他情况 只是想检查maxWidth?有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您可能希望接受一个对象:

$.browserWidth = function(options) {
  // Returns true if no options are passed
  var result = true;
  var width  = $(window).width();

  if('lowerThan' in options) {
    result = result && (width <= options.lowerThan);
  }

  if('biggerThan' in options) {
    result = result && (width >= options.biggerThan);
  }

  return result;
};

用法:

if($.browserWidth({ lowerThan: 1099 }) { // ...

if($.browserWidth({ biggerThan: 1099 }) { // ...

if($.browserWidth({ lowerThan: 2000, biggerThan: 1000 }) { // ...