gpt4 book ai didi

javascript - 如何命令 if ( ..) 不执行 setTimeout()

转载 作者:行者123 更新时间:2023-12-02 19:10:57 24 4
gpt4 key购买 nike

这个Demo ,登陆页面后会显示btn2(绿色区域),然后用户有2个选项:

1. 用户不执行任何操作 - setTimeout()
2. 用户将鼠标悬停至 btn2 - 显示 btn3(蓝色)。
我停留在 2. 悬停到 btn2btn3 后显示。 btn1(红色)仍然淡出如何取消?

任何建议将不胜感激。

<div class="btn btn1"></div>
<div class="btn btn2"></div>
<div class="btn btn3"></div>
.btn{
width: 200px;
position: absolute;
}
.btn1{
background-color: red;
height: 100px;
width: 100px;
}
.btn2{
background-color: green;
height: 200px;
opacity: 0.3;
display: none;
}
.btn3{
background-color: blue;
height: 200px;
opacity: 0.3;
display: none;
}

jQuery

$(function(){
function navctr(){
//landing
$('.btn1').hide();
$('.btn2').show();
setTimeout(function(){
$('.btn2').fadeOut(50);
$('.btn1').fadeIn(50);
}, 2250);
//after click
$('.btn1').click(function(){
$('.btn1').fadeOut(100);
$('.btn2').delay(100).fadeIn(50);
});
//both
$('.btn2').hover(function(){
$('.btn2').hide();
$('.btn3').fadeIn(100);
});
$('.btn3').mouseleave(function(){
$('.btn3').fadeOut(50);
$('.btn1').fadeIn(100);
});
};
navctr();
});

最佳答案

使用方法clearTimeout():documentation它将删除之前在文档中设置的超时。

使用您的代码,它会是这样的:

$(function(){
function navctr(){
var myTimeout;
//landing
$('.btn1').hide();
$('.btn2').show();
myTimeout = setTimeout(function(){
$('.btn2').fadeOut(50);
$('.btn1').fadeIn(50);
}, 2250);
//after click
$('.btn1').click(function(){
$('.btn1').fadeOut(100);
$('.btn2').delay(100).fadeIn(50);
});
//both
$('.btn2').hover(function(){
$('.btn2').hide();
$('.btn3').fadeIn(100);
clearTimeout(myTimeout); // remove the setTimeout
});
$('.btn3').mouseleave(function(){
$('.btn3').fadeOut(50);
$('.btn1').fadeIn(100);
});
};
navctr();
});

关于javascript - 如何命令 if ( ..) 不执行 setTimeout(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13723391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com