jQuery幻灯片Down&然后在计时器上向上滑动
jQuery slideDown & then slideUp on timer
我有一个简单的.slideDown
函数:
$globalTabs.find('.seeMore a').live("click", function(){
$globalTabs.find(".allTabs").slideDown('slow');
});
当用户单击.allTabs
中的<a>
时,.allTabs
执行.slideUp
。
我想做的是,如果用户没有点击.allTabs
中的任何内容,并且鼠标不再位于.allTabs
中,则计时器启动等待x时间,然后执行.slideUp
。此外,如果鼠标在.slideUp
触发之前再次进入.allTabs
,则当鼠标移出.allTabs
时,计时器将停止并重置
不知道如何接近。如有任何帮助,我们将不胜感激。
基本标记:
<div class="allTabs">
<a href="#">link 1</a>
<a href="#">link 2</a>
<a href="#">link 3</a>
<a href="#">link 4</a>
</div>
和:
<li class="seeMore"><a href="#">see more</a></li>
您可以使用setTimeout
和clearTimeout
函数,请注意,live
方法已被弃用,您可以改用on
方法。
var timeout;
$(document).on({
mouseenter: function(){
clearTimeout(timeout)
},
mouseleave: function(){
var $this = $(this)
timeout = setTimeout(function(){
$this.slideUp('slow')
}, 500)
},
}, ".allTabs")
Fiddle
更新:
var timeout;
$(document).delegate(".allTabs", "mouseenter", function() {
clearTimeout(timeout)
})
$(document).delegate(".allTabs", "mouseleave", function() {
var $this = $(this)
timeout = setTimeout(function() {
$this.slideUp('slow')
}, 1000)
})
Fiddle
在slidedown
的回调和.allTabs
的mouseout
上设置一个计时器来执行slideup
。取消.allTabs
上mouseover
上的计时器。
var $timer;
function hideAllTabs() {
$globalTabs.find(".allTabs").slideUp('slow');
}
$globalTabs.find('.seeMore a').live("click", function(){
$globalTabs.find(".allTabs").slideDown('slow', function() {
$timer = setTimeout(hideAllTabs, 1000);
});
});
$globalTabs.find(".allTabs").live("mouseout",function() {
$timer = setTimeout(hideAllTabs, 1000);
});
$globalTabs.find(".allTabs").live("mouseover",function() {
clearTimeout($timer);
});
试试这个方法:
$(function() {
var $allTabs = $globalTabs.find(".allTabs");
var timer;
$globalTabs.find('.seeMore a').live("click", function(){
$allTabs.slideDown('slow');
});
$allTabs.mouseout(function(){
timer = setTimeout(function() {$allTabs.slideUp()}, 3000);
});
$allTabs.mouseover(function() {
clearTimeout(timer);
});
});
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 设置倒计时计时器,IE出现问题
- MobileFirst:在客户端运行计时器作业-最佳选项
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 倒计时计时器应该持续两个php页面
- 在Jquery倒计时计时器上设置每个数字的动画
- 我如何才能确保计时器设置为每天4点半,所以我不会;不用在Javascript中提及某个日期
- 如何禁用窗口.当计时器超时时,打开卸载警报
- 在Nodejs中为许多用户处理计时器
- 如果弹出窗口关闭,Javascript停止/重置计时器
- 如何在隐藏时暂停jquery计时器
- Javascript倒计时计时器倒计时未正确更新秒/分钟
- 计时器循环从不运行
- Progressbar计时器,仅在页面刷新时重新加载
- jQuery幻灯片Down&然后在计时器上向上滑动
- 试图修复一个倒计时计时器问题,该问题导致计时器运行,然后在使用Javascript时崩溃约10秒
- 计时器最多增加到 3,然后始终设置为 0
- 听众被重复添加,但可以'我不知道怎么做.I'm使用one(),然后使用计时器在每次单击时重新启用它
- PHP计时器等待30秒,然后运行一个命令
- 如何使从02:00开始的计时器达到00:00,然后在06:00重新开始?