我希望当鼠标悬停在另一个 div 上时显示 div,并在几秒钟后使用 jquery 自动消失
首先是我的html代码:
<div class="outter">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class="inner"></div>
当我的鼠标悬停在“item”上时,“inner”显示,当鼠标移开“inner”时消失:
$(".item").hover(function(){
// setTimeout(function(){$('.inner').hide('slow');},2000);
$('.inner').show('slow');
},function(){
$('.inner').stop(true, true).hide('slow');
})
我也希望当“inner”显示时,它会在几秒钟后自动消失,
所以我写setTimeout(function(){$('.inner').hide('slow');},2000); 如上面代码中的注释,
但结果不好,这是网上的案例当鼠标放在另一个“项目”上时,它无法重置“settimeout”,所以我该怎么办解决问题吗?
谢谢你!
first here is my html code:
<div class="outter">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class="inner"></div>
when my mouse over the "item",the "inner" show,when mouseout the "inner" disppeared:
$(".item").hover(function(){
// setTimeout(function(){$('.inner').hide('slow');},2000);
$('.inner').show('slow');
},function(){
$('.inner').stop(true, true).hide('slow');
})
as well I want when "inner" showed,it will disppear automatic after few seconds
so I write setTimeout(function(){$('.inner').hide('slow');},2000); as the note in code above
but the resault is not good ,here is the online case it cann't reset the "settimeout" when mouse on another "item",so how can I solve the problem?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试放置clearTimeout(mytime);作为 .hover 第二个参数函数中的第一行。
该代码未经测试,但应该会引导您走向正确的方向......我希望。
Try putting clearTimeout(mytime); as the first line in your .hover's second parameter function.
This code was not tested but should send you in the right direction...I hope.
试试这个:
编辑以修复我的错误...
http://jsfiddle.net/3p4MU/10/
Try this:
Edited to fix an error on my part...
http://jsfiddle.net/3p4MU/10/