Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用javascript删除单击无限滚动页面上的框_Javascript_Html_Css - Fatal编程技术网

仅使用javascript删除单击无限滚动页面上的框

仅使用javascript删除单击无限滚动页面上的框,javascript,html,css,Javascript,Html,Css,我正在构建一个无限滚动的页面,其中包含一个带有删除按钮的框。当我们滚动页面时,应该会生成一个新的框。 如果我们单击任何给定框的“删除”按钮,该特定框和按钮本身将被删除,并显示警告消息 我编写了一些代码,并尝试在滚动时将子元素附加到父元素,并尝试在单击事件发生时删除子元素和父元素。 由于我是javascript新手,请帮助我更正此代码或告诉我如何解决此问题。 请提供javascript onlyno jquery的解决方案 var contain=document.getElementsByCl

我正在构建一个无限滚动的页面,其中包含一个带有删除按钮的框。当我们滚动页面时,应该会生成一个新的框。 如果我们单击任何给定框的“删除”按钮,该特定框和按钮本身将被删除,并显示警告消息

我编写了一些代码,并尝试在滚动时将子元素附加到父元素,并尝试在单击事件发生时删除子元素和父元素。 由于我是javascript新手,请帮助我更正此代码或告诉我如何解决此问题。 请提供javascript onlyno jquery的解决方案

var contain=document.getElementsByClassName'container'; var-box=document.getElementsByClassName'floating-box'; //框滚动事件 文件。添加的列表“滚动”,添加框; //框删除事件 框。添加“点击”列表,rmbox; 函数addboxe{ e、 防止违约; var newitem=document.getElementById'box'; var p=document.createElement'p'; p、 className='浮动框'; p、 appendChilddocument.createTextNodenewitem; var deletebtn=document.createElement'button'; deletebtn.className='del'; deleteBtn.appendChilddocument.createTextNode'X'; p、 追加删除BTN; contain.appendChildp; var contentHeight=contain.offsetHeight; 变量y=window.pageYOffset+window.innerHeight; 如果y>=内容高度{ contain.appendChildcontain.childNodesthis; } } 功能RMBOX{ 如果e.target.classList.包含“delete”{ 如果确认“你确定吗?”{ var p=e.target.parentElement; 包含.removeChildp; } } } .浮动框>div{ 浮动:左; 背景:eee; 文本对齐:右对齐; 宽度:300px; 高度:150像素; 利润率:20px; 边框:3倍纯色灰色; } .浮动框>div:n个奇数{ 背景:白色; } .del>div{ 文本对齐:居中; 边框:3倍纯色灰色; } 页

box X

box X


在这里,我已经修复了大部分代码。由于变化很多,我目前无法解释所有的变化。我很快会尝试编辑答案。请仔细研究代码,同时看看你的错误在哪里

var contain=document.getElementById'container'; var-box=document.getElementsByClassName'floating-box'; //框滚动事件 forvar i=0,l=box.length;i=document.body.offsetHeight{ contain.appendChildp; } } 功能RMBOX{ 如果e.target.classList.包含'del'{ 如果确认“你确定吗?”{ var p=e.target.parentElement; p、 parentElement.removeChildp; } } } .浮动框>div{ 浮动:左; 背景:eee; 文本对齐:右对齐; 宽度:300px; 高度:150像素; 利润率:20px; 边框:3倍纯色灰色; } .浮动框>div:n个奇数{ 背景:白色; } .del>div{ 文本对齐:居中; 边框:3倍纯色灰色; } 页

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X

box X


您在这里需要解决的所有问题是什么?框的“删除”按钮是否有效?一页中每个ID只能使用一次。在本例中,您有两次ID框。此外,ID应该介于-如何在scroll上仅将20个子节点附加到父节点,而不是这个。我们可以添加for循环以附加子节点,也可以管理innerheight,使其仅显示很少的子节点。如果事先知道节点的数量,则每次添加子节点时,您只需减少一个计数器,并且一旦计数达到0,该函数就可以不执行任何操作,或者可以完全删除事件处理程序。使用document.getElementByIdcontainer.childElementCount无法找到节点的数目;在此之后,我们可以添加for循环,将元素添加到最后一个节点。现在,如果我们再次滚动,它应该附加相同数量的元素,如果我们再次滚动。