Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用onmouseover和onmouseout在鼠标经过按钮时隐藏和取消隐藏按钮?_Javascript_Onmouseover_Onmouseout - Fatal编程技术网

Javascript 如何使用onmouseover和onmouseout在鼠标经过按钮时隐藏和取消隐藏按钮?

Javascript 如何使用onmouseover和onmouseout在鼠标经过按钮时隐藏和取消隐藏按钮?,javascript,onmouseover,onmouseout,Javascript,Onmouseover,Onmouseout,当鼠标移动到按钮上方时,我希望它隐藏,当鼠标离开按钮时,我希望按钮重新出现。但是我需要使用onmouseover和onmouseout 功能货币() { document.getElementById(“1”).style.display=“无”; } 功能现金() { document.getElementById(“1”).style.display=“block”; } 您已经知道,这可以使用CSS的:hover… 但这里有一个JS方法: 功能货币(el){ el.style.op

当鼠标移动到按钮上方时,我希望它隐藏,当鼠标离开按钮时,我希望按钮重新出现。但是我需要使用onmouseover和onmouseout


功能货币()
{
document.getElementById(“1”).style.display=“无”;
}
功能现金()
{
document.getElementById(“1”).style.display=“block”;
}

您已经知道,这可以使用CSS的
:hover

但这里有一个JS方法:

功能货币(el){
el.style.opacity=0;
}
功能现金(el){
el.style.opacity=1;
}

这里是纯JS方式:注意,按钮会像其他答案一样摆动:


问题是,当光标进入按钮时,mouseover事件被激发,元素消失,mouseout事件激发,因为元素消失了,因此鼠标不再在其中。您需要将按钮放在一个div中,然后将鼠标放在该div上。

查看文档,了解如何使用这些事件:将为您提供@MikeSounds所需的答案,这是欺骗用户的一个很好的方法?我想用java脚本和html实现这一点。Nothing else使用visibility:visible和visibility:hidden而不是display:block/none,因为当您显示:none元素时,元素将从DOM中删除,页面将回流,鼠标将被视为已移出,元素将被重新添加,然后鼠标将再次进入…哦,我想切换可见性不是很正确。这仍然会导致相同的闪烁问题(尽管至少不会使页面的其余部分回流)。@AgentME使用
opacity
修复了至少在Chrome中相同的平滑/闪烁问题。。哼哼
var x = document.getElementById("myBtn");
x.addEventListener("mouseenter", myFunction);
x.addEventListener("mouseout", mySecondFunction);

function myFunction() {
    document.getElementById("myBtn").style.display = "none";
}

function mySecondFunction() {
    document.getElementById("myBtn").style.display = "block";
}