我有一个简单的.slideDown
函数:
$globalTabs.find('.seeMore a').live("click", function(){
$globalTabs.find(".allTabs").slideDown('slow');
});
当用户单击
<a>
中的.allTabs
时,.allTabs
会执行.slideUp
。我想做的是,如果用户没有单击
.allTabs
中的任何内容,并且鼠标不再位于.allTabs
中,则计时器启动以等待x时间,然后执行.slideUp
。此外,如果鼠标在.allTabs
触发之前再次进入.slideUp
-则计时器停止并在鼠标移出.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>
最佳答案
尝试这种方式:
$(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 - jQuery slideDown然后在计时器上滑动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12118292/