当函数返回不同的结果时,是否可以执行操作?
我不想在这个函数中添加不必要的代码:
function numCols() {
var winWidth = $(window).width();
if(winWidth >= 1900){
return 4;
} else if(winWidth >= 1025 && winWidth <= 1899){
return 3;
} else if(winWidth >= 600 && winWidth <= 1024){
return 2;
} else if(winWidth <= 599){
return 1;
}
}
但是,当numCols()
返回不同的数字时,我希望能够执行其他功能。我会将numCols()
放入窗口调整大小:
$(window).resize(function(){
numCols()
});
然后我想在numCols()返回不同的数字时执行其他功能。只有当它返回一个数字而不是整个时间才会调整窗口大小。
答案 0 :(得分:1)
我建议您执行以下操作:
在文档中加载保存在全局变量中的初始列数:
$(function(){
window.columnNum = numCols();
});
然后在调整大小处理程序中执行:
$(window).resize(function(){
var currentCols = numCols(); // get the current amount of cols
if(currentCols != window.columnNum){ // execute the following code only if the number of columns have changed
window.columnNum = currentCols;
doSomethingElseHere(); // add any code here
}
});
答案 1 :(得分:0)
我认为你要做的是这样的事情:
$(window).resize(function(){
var cols = numCols();
if (cols == 1) {
// call my custom function
myCustomFunction();
} else if (cols == 2) {
// call another function
anotherFunction();
} else {
aThirdFunction();
}
});
答案 2 :(得分:0)
在这种情况下,您的函数返回值,是的,您可以使用该值进行操作,并且可以进行相同的其他操作。
$(window).resize(function(){
if(parseInt(numCols()))
{
alert('first action');
}
});
<强> Demo on jsFiddle 强>