我正在一个位于此处的客户端站点上工作:http://www.marcusleighcopy.co.uk/about
在闪光灯弹出后,你应该会看到一个关于页面,在图片下面有一个我已经建立的推荐设备。实际设备的JS很好,但如果当前没有查看窗口,我想阻止设备做任何事情(因为建立了一个奇怪的队列,当焦点返回到窗口时,所有队列都会立即启动)。
不管怎样,我修改了我的代码,并添加了以下内容:(如这里的另一个问题所示)
if (/*@cc_on!@*/false)
{
// check for Internet Explorer
document.onfocusin = onFocus;
document.onfocusout = onBlur;
}
else
{
window.onfocus = onFocus;
window.onblur = onBlur;
}
我的推荐设备是这样的:
function onBlur()
{
document.body.className = 'blurred';
};
function onFocus(){
document.body.className = 'focused';
// Testimonial fade in/out
var testimonial_count = $('div.testimonial').size();
if (testimonial_count)
{
var testimonials = [];
$('div.testimonial').each(function(){
testimonials.push($(this));
});
show_testimonials(0);
}
function show_testimonials(currentIndex)
{
testimonials[currentIndex].fadeIn(400);
if ($('body').hasClass('blurred'))
{
return false;
}
setTimeout(function(){
testimonials[currentIndex].fadeOut(400);
if (currentIndex + 1 >= testimonial_count)
{
show_testimonials(0);
}
else
{
show_testimonials(currentIndex + 1);
}
}, 10000);
}
};
在SAFARI中,窗口最初没有集中。如果你点击关闭Safari,然后重新打开它,推荐信就会如预期的那样显示出来。如有必要,我如何让窗口立即触发onFocus功能?
这将触发DOM就绪上的焦点事件:
$(function(){
$(document).focus();
};