首页 > 解决方案 > 滚动时如何克隆和删除?

问题描述

我知道这里有很多克隆/删除帖子。我只是花了一段时间点击了很多,但没有一个适合我的情况。

本质上,我需要创建新元素以确保在父容器中始终可见。

我能够克隆/添加新元素,但每次我尝试删除旧的/超出视图的元素时,它都会停止追加。

我确信这很简单,但它让我无法理解!最终速度会增加并保持原样会创建数千个 .box 元素,所以我正在尝试清理旧的。

我确实尝试过将它们改组,将第一个移动到最后,但是当滚动速度增加时,这不起作用。任何建议都会非常有帮助!感谢!:)

代码:

let counter = 0;
let clone;
function run() {
    if ($(".wrapper").find(".box").last().position().left < 400) {
        $(".wrapper").find(".box").last()
            .clone().insertAfter(".box")
    }

    if ($(".wrapper").find(".box").length > 3) {
        $(".wrapper").find(".box").each(function(ind, box) {
        if ($(box).position().left < -400) {
            // $(box).remove()
            }
        });
        }

            $(".box").css("transform", `translateX(${(counter -= 10)}px)`);
    }

    let int = setInterval(function() {
        run();
    }, 100);

https://codepen.io/kmarmet/pen/ReXPNO?editors=0010

标签: jquery

解决方案


推荐阅读