【发布时间】:2019-04-07 07:00:00
【问题描述】:
因此,HTML 显示了一个区域,其中随机放置了一百个小框。我使用 javascript 来制作小盒子。 HTML 中还有一个按钮,我在 js 中编写了一个按钮,每次单击它时都会多生成一百个小框。我的问题是,我希望每次将鼠标悬停在每个小盒子上时都能消失,最好使用“this”命令来做到这一点。是我做错了什么,还是 javascript 在创建新的 HTML 元素后无法与它们交互?
这是我的代码:
window.onload = function(){
createBoxes();
$("myButton").observe("click", createBoxes);
var divvy = $("container");
var pars = divvy.getElementsByTagName("p")
pars.onmouseover = destroyBoxes;
}
function destroyBoxes (event){
var divvy = $("container");
var pars = divvy.getElementsByTagName("p")
if (event.type == "mouseover") {
pars.removeChild(This);
}
}
function createBoxes()
{
var colors = ["red", "green", "grey", "blue", "orange", "yellow"];
for (i=0;i<=99;i++){
var newP = document.createElement("p");
var top = Math.floor( Math.random() *400 ) + "px";
var left = Math.floor( Math.random() *400 ) + "px";
newP.style.top = top;
newP.style.left = left;
newP.style.backgroundColor = colors[ Math.floor( Math.random() *6 )];
$("container").appendChild(newP);
var divvy = $("container");
var pars = divvy.getElementsByTagName("p")
pars.onmouseover = destroyBoxes;
}
}
【问题讨论】:
-
嘿@BuddyCodes,我得去尝试
event.target,而不是destroyBoxes()函数中的This。祝你好运,上帝保佑! -
@ChrisHappy 非常感谢!在修改了你的建议之后,我能够让它完美地工作。我希望你现在和我一样好,哈哈
标签: javascript dom this nodes mouseover