Я запускаю таймер на основе фокуса окна. Если окно находится в фокусе, тогда таймер будет двигаться вперед, если не появится сообщение. Я показываю фокусное сообщение в focusmsg div
и скрываю это div
, когда окно находится в фокусе. В результате фокусное сообщение не видно.Возобновить параметр, когда окно не в фокусе
Теперь вместо того, чтобы показывать простое фокусное сообщение, я хочу показать кнопку возобновления, чтобы пользователь мог нажать кнопку возобновления, чтобы убедиться, что окно находится в фокусе, вернувшись в окно, которое было не в фокусе.
Помните, что кнопка возобновления не должна исчезать, пока пользователь не закроет окно, нажав кнопку возобновления.
Было бы здорово, если бы вы могли предоставить jsfiddle своим ответом!
if(w_focus) {
$("#focusmsg").hide();
var timer = 0;
var full = 10;
timer++;
if(timer == full) {
var show = "Full";
$("#timmsg").html(show);
}
else {
setTimeout(adTimer, 1000);
$("#between").hide();
}
} else {
setTimeout(adTimer, 2000);
var msg = "Focus lost! Resume now";
$("#focusmsg").html(msg);
}
$(document).ready(function() {
var hidden, change, vis = {
hidden: "visibilitychange",
mozHidden: "mozvisibilitychange",
webkitHidden: "webkitvisibilitychange",
msHidden: "msvisibilitychange",
oHidden: "ovisibilitychange" /* not currently supported */
};
for (hidden in vis) {
if (vis.hasOwnProperty(hidden) && hidden in document) {
change = vis[hidden];
break;
}
}
if (change)
document.addEventListener(change, onchange);
else if (/*@[email protected]*/false) // IE 9 and lower
document.onfocusin = document.onfocusout = onchange
else
window.onfocus = window.onblur = onchange;
function onchange (evt) {
evt = evt || window.event;
if (evt.type == "focus" || evt.type == "focusin")
window_focus = true;
else if (evt.type == "blur" || evt.type == "focusout")
window_focus = false;
else
window_focus = this[hidden] ? false : true;
}
});
@query это работало для вас? –
Не знаю, почему, но кнопка возобновления (функция onclick) не работает с моим кодом. Я обновил свой пост, предоставив больше информации для вашего удобства. Было бы лучше, если бы вы предоставили пример JSFiddle на основе моего кода! – query
В нижней части моего ответа есть пример JSFiddle: http://jsfiddle.net/3tzmeta4/ –