我有一个非常基本的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?有任何想法吗?谢谢!
答案 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 }) { // ...