Таким образом, 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;
}
}