javascript - 如何通过鼠标悬停使 div 元素可见/隐藏

标签 javascript php css

我在一个 php 文件中有三个连续的 DIV 元素,我想通过 onMouseOver 在中间 (Box2) 隐藏和显示 DIV。

echo"<div class='colorBox' id='box1'>Box1</div>";
echo"<div class='colorBox' id='box2'>Box2</div>";
echo"<div class='colorBox' id='box3'>Box3</div>";

我想到了两种解决方法,但它们都不起作用。 首先,我尝试用纯 CSS 解决它:

#box2:hover
{
    visibility: hidden;
}

但是当我使用它时,DIV 在将光标移到 div 上时开始闪烁。

其次,我尝试用 javascript 解决它并设置一个 onmouseover和一个 onmouseout - 像这样向 div 发送事件

CSS:

echo"<div class='colorBox' id='box2' onmouseover='hideBox()' onmouseout='showBox()'> Box2 </div>";

Javascript:

function hideBox()
{
    var box2 = document.getElementById("box2");
        box2.style.visibility = "hidden";
}

function showBox()
{
    var box2 = document.getElementById("box2");
    box2.style.visibility = "visible";
}

但是这个解决方案也会使 DIV 闪烁。 我通过 display:none 找到了其他解决方案但这把我的内容搞得一团糟。

我希望你能帮我解决这个问题。 非常感谢任何帮助。

最佳答案

您的代码实际上是删除了导致闪烁的框,您将鼠标悬停在该元素上,该元素消失了,鼠标不再位于其上方,导致它再次显示。

您可以使用opacity

解决这个问题
#box2:hover
{
    opacity: 0;
}

关于javascript - 如何通过鼠标悬停使 div 元素可见/隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35780744/

相关文章:

php - jQuery 自动完成功能不起作用?

javascript - 类更改后无法与元素交互

javascript - Jquery生成随机数传递给if

python - 如何通过 ID 和 Class 使用唯一的 XPath/CSS 选择器选择相同的元素?

javascript - 控制angularjs如何将日期转换为json字符串

PHP 复选框会更新数据库,但下拉菜单不会更新

php - 更改数组结果 PHP 和 MYSQL

php - codeigniter 替换模型中的数组值

html - 让父 DIV 高度根据子 DIV 高度自动调整大小

javascript - 如何使用 jQuery 选择鼠标悬停的图像?