修改后的代码如下:

let targetNode = document.getElementById('setting_sd_model_checkpoint');

let vet = setInterval(function(){ if (targetNode && !document.getElementById('floating-div')) { console.log('AAA'); showFloatingPanel(); } else { clearInterval(vet); } },2000);

这样修改后,会在页面加载完成后每隔2秒检查一次targetNode是否出现,如果出现了且浮动面板没有出现,则执行showFloatingPanel()函数显示浮动面板;如果浮动面板已经出现或者targetNode没有出现,则停止循环检查。这样可以保证浮动面板只在targetNode出现后显示一次,并且不会在浮动面板已经显示后再次显示。

这个逻辑有问题应该是在页面在家过程中检查targetNode是否出现当targetNode存在了而没有div id=floating-div存在的时候就执行showFloatingPanel; 这样在间隔时间里循环检查当不符合千米那的情况时就删除vet。请修改: let targetNode = documentgetElementByIdsetting_sd_model_checkpoint;

原文地址: https://www.cveoy.top/t/topic/ftr9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录