在让我的导航div 正确自动隐藏时遇到问题。
我想发生的是这样的:
默认情况下,我的导航是隐藏的。
当用户单击链接或用户在浏览器窗口底部附近鼠标时,将出现导航(向上滑动)。我的导航位于 id 为"tS2"的div 中。当用户将鼠标从导航div 上移开时,导航将在短暂延迟后隐藏(向下滑动)。
我的鼠标位置脚本正常工作
$(document).mousemove(function(ev){
var ev = ev || window.event;
//console.log('Mouse y ='+ev.pageY);
if(ev.pageY>(_windowHeight-120)){
console.log('YES triggered show nav!');
showNav(true,1000)
}
});
这是我的shownav函数,它可以在文档加载时正常工作。但是当我调用 showNav(true,1000) 时,导航会立即跳入视野,而不是逐渐超过 1 秒(我的持续时间)。任何人都可以发现我的错误吗?
function showNav(bflag,dur,delay){
if(bflag===true){
$("#tS2").stop(true,true).animate({
'bottom':'0'
}, dur);
}else{
$("#tS2").stop(true,true).animate({
'bottom':'-125px'
}, dur);
}
}
showNav(false,1000);
根据您的描述,我整理了这把小提琴
http://jsfiddle.net/zPs4G/3/
试试:)
您没有提供很多详细信息,但听起来您希望导航执行以下操作:
$('#tS2').slideToggle('slow', function() {
// Animation complete.
});
把它放在你的控制台上.log我想你快完成了。您只需要一个相应的 if 语句来触发鼠标输出事件,但您已经知道如何做到这一点。