gpt4 book ai didi

javascript - 使用 appenChild 添加 div 并使用 removeChild 减少 div

转载 作者:太空宇宙 更新时间:2023-11-04 02:07:27 24 4
gpt4 key购买 nike

我想制作分形树,如果我按左键单击我应该添加新的 div 如果我按右键单击它应该是减少 div,但是左键单击功能不起作用,它应该是递归的但它只是添加一个 div,如果我再次按下左键单击,则没有任何反应,右键单击也不起作用,所有的 div 都消失了。这是我的代码

<head>
<style type="text/css">

div {
position: absolute;
background-color: #e21d27;
opacity: 0.8;
transition: 2s;
}

div#start {
width: 100px;
height: 100px;

transform: translate(300%, 300%);
}

div div {
width: 100%;
height: 100%;
}

div div:nth-child(1) {
transform: translate(-42%, -105%) rotate(-37deg) scale(0.8, 0.8);
}

div div:nth-child(2) {
transform: translate(55%, -91%) rotate(53deg) scale(0.6, 0.6) ;
}

div:hover {
transition: 1s;
opacity: 1;
}
</style>
</head>
<body>
<div id="start"></div>

<script>
var coba =27;
var leftClick = document.getElementById("start");
var rightClick = document.getElementById("start");

leftClick.onclick = function(){
for ( var i = 0; i< coba; i++ ) {
var di = document.createElement('div');
leftClick.appendChild(di);
}
}

rightClick.oncontextmenu = function(){

for ( var i = 0; i< coba; i++ ) {
var removedi = document.getElementById("start");;
removedi.parentNode.removeChild(removedi);
}
}

</script>
</body>

非常感谢你的帮助

最佳答案

您的右键单击功能正在删除整个“开始”div。 removedi 设置为该 div,然后您在其父级上调用 removeChild,导致它被删除。这可能就是为什么当您右键单击时所有内容都会被删除的原因。相反,您应该删除起始 div 的子节点。

你可能想要这样的东西:

var start = document.getElementById('start');
for (var i = 0; i < start.childNodes.length; i++) {
var child = start.childNodes[i];
start.removeChild(child);
}

我不确定为什么您的左键单击处理程序没有执行您想要的操作。

关于javascript - 使用 appenChild 添加 div 并使用 removeChild 减少 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40453468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com