У меня есть сетка, состоящая из многих:
<div id="block4-2" class="base" onmouseover="showSubElements(this);"
onmouseout="hideSubElements(this)"></div>
showSubElements () создает элементы кнопок и добавляет их к внутреннему элементу divHTML:
function showSubElements(divelem) {
var row = divelem.id[6];
var col = divelem.id[8];
var a = document.createElement("BUTTON");
a.setAttribute("class", "itemA subelem");
a.setAttribute("id", "button" + col + "-" + row + "a");
a.setAttribute("onclick", "console.log('TEST');");
[repeat code for b, c and d]
var a_str = "<button id=\"" + a.id + "\" " + "onclick=\"" + "console.log(\'TEST\');\" class=\"" + a.getAttribute("class") + "\"></button>";
[repeat code for b, c and d]
divelem.innerHTML = a_str + b_str + c_str + d_str;
}
hideSubElements ():
function hideSubElements(divelem) {
divelem.innerHTML = "";
}
Проблема с этим кодом заключается в том, что когда мышь находится над элементом div, она также находится над подэлементами button, поскольку каждый из них имеет стилистику, занимающую квадрант поля, в котором они находятся, поэтому они мерцают при движениимышь в коробке и исчезает, когда мышь перестает двигаться.