鼠标悬停功能和鼠标离开功能在调整大小时继续工作window
Mouseover function and mouseleave function keeps working when resize window
我想在将鼠标悬停在用户上方时显示一个菜单。但是当 window 大小低于 977 时,我希望悬停消失。
这是我的代码:
$(document).ready(function() {
$(window).on("load resize", function(event){
var windowSize = $(window).width();
var timer;
if (windowSize >= 977) {
$(".crmUser, .userMenu").on("mouseover", function() {
clearTimeout(timer);
openSubmenu();
}).on("mouseleave", function() {
timer = setTimeout(
closeSubmenu
, 800);
});
function openSubmenu() {
$(".userMenu").addClass("userOpen").fadeIn("fast");
}
function closeSubmenu() {
$(".userMenu").removeClass("userOpen").fadeOut("fast");
}
} else { }
}).trigger("resize");
});
我什至做了一个 fiddle,但是 window 调整大小在那里不起作用。
我不确定我错过了什么..
使用:
$(document).width();
而不是:
$(window).width();
并在事件回调(鼠标悬停)中使用条件 $(document).width()>=977
:
$(".crmUser, .userMenu").on("mouseover", function() {
if($(document).width()>=977){
clearTimeout(timer);
openSubmenu();
}
})
这很适合我
$(document).ready(function(e) {
var oreientedWidth = document.body.clientWidth;
if(oreientedWidth < 767){
//use your code here
}
});
我想在将鼠标悬停在用户上方时显示一个菜单。但是当 window 大小低于 977 时,我希望悬停消失。
这是我的代码:
$(document).ready(function() {
$(window).on("load resize", function(event){
var windowSize = $(window).width();
var timer;
if (windowSize >= 977) {
$(".crmUser, .userMenu").on("mouseover", function() {
clearTimeout(timer);
openSubmenu();
}).on("mouseleave", function() {
timer = setTimeout(
closeSubmenu
, 800);
});
function openSubmenu() {
$(".userMenu").addClass("userOpen").fadeIn("fast");
}
function closeSubmenu() {
$(".userMenu").removeClass("userOpen").fadeOut("fast");
}
} else { }
}).trigger("resize");
});
我什至做了一个 fiddle,但是 window 调整大小在那里不起作用。 我不确定我错过了什么..
使用:
$(document).width();
而不是:
$(window).width();
并在事件回调(鼠标悬停)中使用条件 $(document).width()>=977
:
$(".crmUser, .userMenu").on("mouseover", function() {
if($(document).width()>=977){
clearTimeout(timer);
openSubmenu();
}
})
这很适合我
$(document).ready(function(e) {
var oreientedWidth = document.body.clientWidth;
if(oreientedWidth < 767){
//use your code here
}
});