我有一个javascript,它每5秒检查一次父div是否有1个子div或超过1个子div
HTML:
var x = Customer(123, 00001, some value, 2, some value)
如果<div id="program-days">
<div class="row">program 1</div>
<div class="row">program 2</div>
<div class="row">program 3</div>
</div>
只有1个子div,如何禁用以下功能:
#program-days
我可以使用类似这样的脚本吗? :
$(document).ready(
function () {
checkProgramData();
checkProgram = setInterval(checkProgramData, checkProgramInterval);
});
答案 0 :(得分:0)
只需给您的间隔一个变量名:
var programDaysInterval = setInterval(...);
在函数的其他部分,您可以通过其名称停止间隔:
clearInterval(programDaysInterval);
完整示例:
$(function() {
function checkProgram() {
if($("#program-days").find('.row').length > 1) {
console.log('stop');
clearInterval(checkProgramInterval);
} else {
console.log('just keep going');
}
}
var checkProgramInterval = setInterval(checkProgram,500);
});
答案 1 :(得分:0)
您不需要Jquery。这是一个可能的解决方案:
第一个是基本的if else语句,另一个在间隔少于1行时停止间隔。这是您要找的答案吗?
//Basic solution
setInterval(() => {
if(document.querySelectorAll('#program-days > .row').length > 1){
}else{
}
},1000)
// Stopping interval / function if not true
let interval = setInterval(() => {
if(document.querySelectorAll('#program-days > .row').length > 1){
}else{
interval.clearInterval()
}
},1000)
<div id="program-days">
<div class="row">program 1</div>
<div class="row">program 2</div>
<div class="row">program 3</div>
</div>