使用jQuery,我可以通过在div框上或下移动鼠标来轻松地显示和隐藏div框



以下是代码:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function() {
$("#box").mouseleave(function() {
    $(this).hide();
  });

$("#box").mouseenter(function() {
    $(this).show();
});
});
</script>

当我将鼠标移开时,它会关闭,当我将光标移到"隐藏"的"div"上时,它不会再次出现。为什么?什么是简单的解决方案?

正如其他人所说,您需要切换visibility而不是display属性。

您可以使用JavaScript来实现这一点,但纯CSS甚至更好。但是,你不能在一个不可见的元素上:hover,所以你需要在它周围包装一个容器

<div id="container"><div id="box"></div></div>

CSS:

#box {
    background-color: blue;
    visibility:hidden;
}
#container:hover #box {
    visibility: visible;
}

http://jsfiddle.net/mblase75/cF4tL/

"隐藏"的div被CSS显示"隐藏":无,隐藏后将无法触发鼠标输入。

大多数人会缩小div而不是完全隐藏,或者用其他用户可识别的标记替换div以再次显示它。

有一些完全看不见的东西,期望用户将鼠标悬停在不存在的东西上,可能会被认为是糟糕的设计。

最新更新