与我一起工作的设计师给了我一些功能,我不知道如何处理它。她基本上想要以下内容;
- 当您将鼠标悬停在链接上时,面板应下拉(完成此操作没问题)
- 面板应该在 10 秒后消失(也没有问题)
- 如果您的光标在面板内,则面板永远不会消失。光标离开面板后,10 秒计时器应重新开始(erm..)
谁能指出我正确的插件或文章的方向来解释如何实现这第三位功能?我是一个相当经验丰富的开发人员,但正在努力解决如何解决这个问题,甚至从哪里开始谷歌搜索。到目前为止,这就是我所拥有的,除了第三个要点外,所有这些都在工作。我有一种感觉,我可能需要完全改变我的方法才能让它发挥作用;
function showMiniBasket() {
$("#basketMiniSummary").slideDown();
}
function hideMiniBasket() {
$("#basketMiniSummary").fadeOut();
}
var config = {
over: showMiniBasket,
timeout: 10000,
out: hideMiniBasket
};
$("#basketDropDown").hoverIntent(config);
答案...
根据下面的建议,最终的解决方案是......
function showMiniBasket() {
$("#basketMiniSummary").slideDown("fast");
}
function hideMiniBasket() {
if (!$('#basketMiniSummary').hasClass('being_hovered')) {
$("#basketMiniSummary").fadeOut();
}
}
var config = {
over: showMiniBasket,
timeout: 1000,
out: hideMiniBasket
};
$("#basketDropDown").hoverIntent(config);
$('#basketMiniSummary').hover(function() {
//hover in
$(this).addClass('being_hovered');
$("#basketMiniSummary").slideDown();
}, function() {
//hover out
$(this).removeClass('being_hovered');
$("#basketMiniSummary").delay(1000).fadeOut();
});