Javascript 鼠标输出上的下拉菜单应保持可见
当鼠标在div内移动时,带下拉菜单的按钮应该是可见的,这很好,但问题是当我将鼠标移出该div时,如果菜单被下拉,我希望按钮和下拉菜单保持可见,但如果菜单没有被下拉,按钮应该隐藏。我如何实现这一点?(在给定的代码中,无论发生什么情况,按钮和下拉菜单都会隐藏在mouseout上)Javascript 鼠标输出上的下拉菜单应保持可见,javascript,jquery,drop-down-menu,onmouseover,onmouseout,Javascript,Jquery,Drop Down Menu,Onmouseover,Onmouseout,当鼠标在div内移动时,带下拉菜单的按钮应该是可见的,这很好,但问题是当我将鼠标移出该div时,如果菜单被下拉,我希望按钮和下拉菜单保持可见,但如果菜单没有被下拉,按钮应该隐藏。我如何实现这一点?(在给定的代码中,无论发生什么情况,按钮和下拉菜单都会隐藏在mouseout上) 行动 函数f(){ document.getElementById(“cov”).style.display=“内联块”; } 函数g(){ document.getElementById(“cov”).st
行动
函数f(){
document.getElementById(“cov”).style.display=“内联块”;
}
函数g(){
document.getElementById(“cov”).style.display=“无”;
}
使用
jquery
中的.show()
和.hide()
来显示和隐藏特定的div,而不是将样式设置为显示none
$('#cov').hide();
function f() {
//document.getElementById("cov").style.display = "inline-block";
$('#cov').show();
}
function g() {
// $('#cov').hide();
//document.getElementById("cov").style.display = "none";
}
试试这个,希望这就是你想要的
您不需要onmouseout=“g()”
更新
试试这个如果我理解正确,你想要这样的东西:
var list = document.getElementById("dropdown-menu");
var menu = document.getElementById("cov");
function dropdown() {
if (list.style.display == "none") {
list.style.display = "block";
} else {
list.style.display = "none";
}
}
function f() {
menu.style.display = "block";
}
function g() {
if (list.style.display == "none") {
menu.style.display = "none";
} else if (list.style.display == "block"){
menu.style.display = "block";
} else {menu.style.display = "block"}
}
这是一个那么你的问题是什么?用鼠标悬停,然后做一个外部点击选项。@placeholder\u in\u use你能详细说明一下吗?一个css:鼠标退出它所连接的元素时,鼠标悬停将恢复…我想OP希望它只在特定的情况下保持,所以必须在…当我离开时写入一个逻辑seout如果菜单没有下拉,我希望按钮隐藏在这里首先,当菜单下拉时,按钮在单击时隐藏,但我希望按钮在单击时保持可见,其次,它只工作一次如果菜单没有下拉,您要求隐藏按钮
。但您已经有了菜单html
。这意味着,它将永远下拉,您永远无法隐藏buttonGood解决方案,这正好回答了问题!谢谢@Tyblitz!我尝试了。
var list = document.getElementById("dropdown-menu");
var menu = document.getElementById("cov");
function dropdown() {
if (list.style.display == "none") {
list.style.display = "block";
} else {
list.style.display = "none";
}
}
function f() {
menu.style.display = "block";
}
function g() {
if (list.style.display == "none") {
menu.style.display = "none";
} else if (list.style.display == "block"){
menu.style.display = "block";
} else {menu.style.display = "block"}
}