Javascript 在鼠标移动和单击时更改状态

Javascript 在鼠标移动和单击时更改状态,javascript,click,mousemove,Javascript,Click,Mousemove,我有一个javascript,它在4秒不活动后隐藏一个div var timeout; var isHidden = false; function hideOnIdle() { if (timeout) { clearTimeout(timeout); } timeout = setTimeout(function() { if (!isHidden) { document.getElementById("slide").style.opacity = "0"

我有一个javascript,它在4秒不活动后隐藏一个div

var timeout;
var isHidden = false;

function hideOnIdle() {
if (timeout) {
    clearTimeout(timeout);
}
timeout = setTimeout(function() {
    if (!isHidden) {
        document.getElementById("slide").style.opacity = "0";
        isHidden = true;
    }
}, 4000);
if (isHidden) {
    document.getElementById("slide").style.opacity = "1";
    isHidden = false;
}
}

if (document.addEventListener) {
document.addEventListener("mousemove", hideOnIdle);
} else {
document.attachEvent("mousemove", hideOnIdle);
}
如果移动鼠标,将再次显示div

如何修改javascript并在单击时再次显示div


谢谢。

我更改了您的JSFIDLE示例:

var超时;
var isHidden=假;
函数hideOnIdle(){
如果(超时){
clearTimeout(超时);
}
timeout=setTimeout(函数(){
如果(!isHidden){
隐藏();
}
}, 4000);
如果(isHidden){
show();
}
}
函数hide(){
document.getElementById(“幻灯片”).style.opacity=“0”;
isHidden=真;
}
函数show(){
document.getElementById(“幻灯片”).style.opacity=“1”;
isHidden=假;
}
if(文件增补列表器){
文件。添加的文件列表器(“mousemove”,hideOnIdle);
document.addEventListener(“单击”,隐藏空闲);
}否则{
文件附件(“mousemove”,hideOnIdle);
}
幻灯片{ 过渡:全部.2s线性; }
ABC123
文档。添加的EventListener(“单击”,隐藏空闲)
只有当您单击时才会更改,我想要两个@adeneo然后您使用这两个,您只能在每个侦听器中添加一个事件