Javascript 当用户在页面上时触发事件

Javascript 当用户在页面上时触发事件,javascript,jquery,html,Javascript,Jquery,Html,我有这个密码 $(document).ready(function(){ var fade_in = function(){ $(".quote").fadeIn(); } setTimeout(fade_in, 2000); var fade_out = function() { $(".quote").fadeOut(); } setTimeout(fade_out, 10000); }); 它所做的是div“qu

我有这个密码

$(document).ready(function(){
    var fade_in = function(){
        $(".quote").fadeIn();
    }
    setTimeout(fade_in, 2000);
    var fade_out = function() {
      $(".quote").fadeOut();
    }
    setTimeout(fade_out, 10000);
});

它所做的是div“quote”慢慢淡入,停留几秒钟,然后淡出。我想要的是,当用户在页面上时,所有这些都会发生,如果你不在页面中,文本会淡入淡出,而你会错过它。如何执行此操作?

当页面div可见时将执行此操作

$(文档).ready(函数(){
$(“div:visible”)。单击(函数(){
$(this.css(“背景”、“黄色”);
});
});有两种方法

第一个:(有点旧)

$(文档).ready(函数(){
window.onfocus=函数(){
var fade_in=函数(){
$(“.quote”).fadeIn();
}
设置超时(淡入淡出,2000年);
var fade_out=函数(){
$(“.quote”).fadeOut();
}
设置超时(淡出,10000);
};
});


quote
如果用户聚焦选项卡,他/她希望它运行。仅运行动画。“在页面上”?您需要对此进行详细说明。“用户在页面上”的确切含义是什么?只需使用
window.onfocus()
即可:第一个成功,但现在每次我聚焦页面时,文本都会再次出现。如何使文本只淡入淡出一次?使用
window.onfocus=null
解除事件绑定。您可以在
淡出功能中使用它。