Jquery 鼠标不活动时隐藏div设置为一个div
我找到了一个脚本,想修改一下。当用户在某个div#gallery上处于非活动状态或活动状态时,我正在尝试设置div#menuwrap的动画 现在它在第一次动画制作之后,即使在画廊外也仍然可以进行动画制作 非常感谢您的帮助 演示: 只要用户触发#gallery上的mousemove或keypress事件,延迟计时器就会重置。您还可以在其中添加悬停事件,以确保将菜单悬停在#gallery上时不会隐藏Jquery 鼠标不活动时隐藏div设置为一个div,jquery,intervals,onmousemove,Jquery,Intervals,Onmousemove,我找到了一个脚本,想修改一下。当用户在某个div#gallery上处于非活动状态或活动状态时,我正在尝试设置div#menuwrap的动画 现在它在第一次动画制作之后,即使在画廊外也仍然可以进行动画制作 非常感谢您的帮助 演示: 只要用户触发#gallery上的mousemove或keypress事件,延迟计时器就会重置。您还可以在其中添加悬停事件,以确保将菜单悬停在#gallery上时不会隐藏 回答第二部分 仅在触发#gallery events mousemove或keypress后检
回答第二部分 仅在触发#gallery events mousemove或keypress后检查是否处于非活动状态。一旦用户移出#gallery框,它将关闭delayCheck()并将#menuwrap设置回top:-50px
var interval = 1;
_delay = 0;
function delayCheck()
{
if(interval == 5)
{
$('#menuwrap').animate({top: '-50px'}, 100);
interval = 1;
clearInterval(_delay);
}
interval = interval+1;
console.log(interval);
}
// turn delayCheck() ON, when mousing to #gallery
$('#gallery').bind('mousemove keypress', function()
{
console.log("mousemove keypress");
$('#menuwrap').animate({top: '0'}, 100);
interval = 1;
// reset delayCheck
clearInterval(_delay);
_delay = setInterval(delayCheck, 500);
});
// turn delayCheck() OFF, when mousing out of #gallery
$('#gallery').mouseout(function(){
console.log("mouseout");
$('#menuwrap').animate({top: '-50px'}, 100);
interval = 1;
clearInterval(_delay);
});
非常感谢!不确定如何使delaycheck仅在用户通过#gallery处于非活动状态时触发。。。你和我在一起吗?我不希望当用户悬停时#menuwrap变为-50px#仅当用户悬停时#menuwrap#gallery用hover更新,但它仍然在#gallery之外动画
var interval = 1;
function delayCheck()
{
if(interval == 5)
{
$('#menuwrap').animate({top: '-50px'}, 100);
interval = 1;
}
interval = interval+1; console.log(interval);
}
$('#gallery').bind('mousemove keypress', function() {
$('#menuwrap').animate({top: '0'}, 100);
interval = 1;
// reset the delay timer
clearInterval(_delay); console.log('reset timer');
_delay = setInterval(delayCheck, 500);
});
// starts delay timer when page loads
_delay = setInterval(delayCheck, 500);
var interval = 1;
_delay = 0;
function delayCheck()
{
if(interval == 5)
{
$('#menuwrap').animate({top: '-50px'}, 100);
interval = 1;
clearInterval(_delay);
}
interval = interval+1;
console.log(interval);
}
// turn delayCheck() ON, when mousing to #gallery
$('#gallery').bind('mousemove keypress', function()
{
console.log("mousemove keypress");
$('#menuwrap').animate({top: '0'}, 100);
interval = 1;
// reset delayCheck
clearInterval(_delay);
_delay = setInterval(delayCheck, 500);
});
// turn delayCheck() OFF, when mousing out of #gallery
$('#gallery').mouseout(function(){
console.log("mouseout");
$('#menuwrap').animate({top: '-50px'}, 100);
interval = 1;
clearInterval(_delay);
});