nodelist.removeChild只工作一次

问题描述

我正在尝试使用有限的物品制作一个无限的图像滑块。逻辑是-滚动后,当一项滚动通过并在屏幕上不再可见时,它将添加到列表的末尾。这样,节点列表将永远不会结束。但是,这仅适用于第一个元素,而不是保留在该元素的位置并在末尾有一个副本(共制作(6 + 1)个项目,将第一个项目删除并放在末尾。同样,如果您知道一种更好的方法为此,请让我知道。Application

HTML:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./styles.css">
    <script defer src="./script.js"></script>
</head>

<body>
    <div class="project-container">
        <div class="project">1</div>
        <div class="project">2</div>
        <div class="project">3</div>
        <div class="project">4</div>
        <div class="project">5</div>
        <div class="project">6</div>
    </div>
</body>
</html>

JavaScript:

var container = document.querySelector(".project-container")
console.log(container.childNodes[0])


var scrolled = 0;


container.addEventListener("scroll",e => {
    console.log(scrolled)
    if (container.scrollLeft - scrolled >= 395) {
        scrolled += 395;
        nodeItem = container.childNodes[0];
        container.appendChild(nodeItem);
    }
})

CSS:

*,*::before,*::after{
    margin:0px;
    padding:0px;
    box-sizing: border-box;
    font-size:100px;
}

.project-container{
    /* display: flex; */
    width:1500px;
    height:400px;
    background-color: rgb(15,207,224);
    margin:auto;
    margin-top:60px;
    white-space: nowrap;
    overflow: auto;
}

.project{
    margin:40px;
    display: inline-block;
    height:300px;
    width:350px;
    background-color:white;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...