Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在函数中使用这段代码_Javascript_Jquery - Fatal编程技术网

Javascript 如何在函数中使用这段代码

Javascript 如何在函数中使用这段代码,javascript,jquery,Javascript,Jquery,我有这个jQuery代码: var vis = (function(){ var stateKey, eventKey, keys = { hidden: "visibilitychange", webkitHidden: "webkitvisibilitychange", mozHidden: "mozvisibilitychange", msHidden: "msvisibilitychange" };

我有这个jQuery代码:

var vis = (function(){
    var stateKey, eventKey, keys = {
        hidden: "visibilitychange",
        webkitHidden: "webkitvisibilitychange",
        mozHidden: "mozvisibilitychange",
        msHidden: "msvisibilitychange"
    };
    for (stateKey in keys) {
        if (stateKey in document) {
            eventKey = keys[stateKey];
            break;
        }
    }
    return function(c) {
        if (c) document.addEventListener(eventKey, c);
        return !document[stateKey];
    }
})();

vis(function(){
  document.title = vis() ? 'Visible' : 'Not visible';
});
它现在要做的是更改页面的文档标题。如果页面不可见,则会将其更改为该页面,并使用vise verca

我的问题是,我怎样才能像这样使用这个函数:

if page is visible{
 //do something
}
if page is not visible{
 //do something else
}
当传递事件处理程序时,
vis()
函数正在绑定事件处理程序,否则返回状态。因此:

vis(function(event) {   
  if ( vis() ) {
    // visible   
  } else { 
   // not visible  
  } 
});
或者更详细地说:

var handler = function(){ 
  // calling vis() with no arguments will return a boolean
  if (vis()) {
    // visible
  } else {
    // not visible
  }
}

// if a handler is passed, it gets bound to the event
// thus, runs on *any* visibility state change
vis(handler);

你在问如何调用函数吗?
if(vis()){}else{}
?这个函数中似乎没有任何jQueryquestion@numbers1311407如果
vis
被传递一个参数,它将添加一个事件侦听器。如果没有传递参数,它只返回可见性状态。@PaulS:它以任意一种方式返回状态:-)