我想为下面的代码添加悬停效果的延迟。我的 jQuery 很弱。
$(".home-furniture .menu > ul > li > a").hover(function(e){
e.preventDefault();
$(".home-furniture .menu > ul > li > a").removeClass("active");
$(".home-furniture .menu > ul > li > .gallery").removeClass("active");
$(".home-furniture .menu > ul > li > div .viewer-border").css({"left":"-9999em"});
$(this).next().find(".viewer-border").removeAttr("style");
$(this).addClass("active");
$(this).next().addClass("active");
});
最佳答案
设置一个计时器以在您希望的延迟后运行您的代码。假设您想取消悬停时的操作(此处显示有 1000 毫秒的延迟):
var id;
$(".home-furniture .menu > ul > li > a").hover(function (e) {
e.preventDefault();
id = setTimeout(function () {
$(".home-furniture .menu > ul > li > a").removeClass("active");
$(".home-furniture .menu > ul > li > .gallery").removeClass("active");
$(".home-furniture .menu > ul > li > div .viewer-border").css({ "left": "-9999em" });
$(this).next().find(".viewer-border").removeAttr("style");
$(this).addClass("active");
$(this).next().addClass("active");
}, 1000);
},
function (e) {
clearTimeout(id);
});
关于javascript - 在悬停延迟中添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25553949/