我有以下代码:
var blink1 = function() {
$('.leftArrowMask').hide();
setTimeout(blink2, 5000);
};
var blink2 = function() {
$('.leftArrowMask').show();
setTimeout(blink1, 1000);
};
$(document).ready(function() {
setTimeout(blink1, 1000);
});
这基本上显示div为1秒,然后将其隐藏5秒钟。
我希望每次看到div时都会显示警告。
我尝试过以下但它似乎无法工作:
function checkVisibility(){
if ($('.leftArrowMask').is (':visible') && $('.leftArrowMask').parents (':hidden').length == 0)
alert ("Visible!");
setTimeout('checkVisibility',1000)//every 1 second...
}
关于可能出错的任何想法?
答案 0 :(得分:1)
var blink1 = function () {
$('.leftArrowMask').hide();
setTimeout(blink2, 5000);
};
var blink2 = function () {
$('.leftArrowMask').show();
setTimeout(blink1, 1000);
};
$(document).ready(function () {
setInterval(function () {
if ($('.leftArrowMask').is(':visible') && $('.leftArrowMask').parents(':hidden').length == 0) {
alert("Visible!");
}
setTimeout(blink1, 1000);
}, 1000);
//
});
请参阅Demo
希望帮助
答案 1 :(得分:0)
setTimeout('checkVisibility',1000)//every 1 second...
这是错误的,删除单引号(')
setTimeout(checkVisibility,1000);
答案 2 :(得分:0)
您只能在代码中的某处设置setInterval。
setInterval(function() {
if ($('.leftArrowMask').is (':visible') && $('.leftArrowMask').parents (':hidden').length == 0) {
alert ("Visible!");
}
}, 1000);