0

我创建了一小段代码,每 80 毫秒在随机“固定”位置创建一个 DIV。此 div 显示大约 2 秒,然后自行删除(包括生成的代码)。但是,当离开发生这种情况的页面部分时(使用滚动);我希望发电机停止。

并且为了避免每次用户使用他的滚动(重复生成器,因为滚动)时执行代码,我认为使用真/假语句是最有用的。

if (focuson = true){window.setInterval(function(){$(generator);}, 80);}

$(window).scroll(function(){
if  ($(window).scrollTop() > resolutieh){
    var focuson = false;
    window.clearInterval(generator); generator = 0;
    }
else{
    var focuson = true;
}
});

上面的代码确实有效,但会导致视觉故障;当最后一个生成的 DIV 被删除时:那一刻屏幕的每个部分,没有被 div 内容“填充”的部分将被大的白色块填充(基本上是重复 x/y 上的“背景图像”)。同样滚动回生成器处于活动状态的位置不会再次激活它。

以下代码对我来说似乎更合乎逻辑(尽管它不起作用):

if (focuson = true){window.setInterval(function(){$(generator);}, 80);}
if (focuson = false){window.clearInterval(function(){$(generator);}, 0);}

$(window).scroll(function(){
if  ($(window).scrollTop() > resolutieh){
    var focuson = false;;
    }
else{
    var focuson = true;
}
});

我基本上想通过“正确”停止生成器或将其计时器设置得如此之低以减少计算时间来避免视觉故障。一个很酷的好处是,如果您回到生成生成器的页面部分,它将再次打开。

有什么建议么?

亲切的问候。

4

0 回答 0