Я работаю над клиентским сайтом, расположенным здесь: 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 по мере необходимости?