我有一个导航条,它在悬停时扩展,在鼠标出时减少。我想插入一个点击函数到导航栏,点击后的导航条不会减少。怎么做呢。目前我的代码是
$(".nav_list li").css('display','none');
$("#navbar").hover(function(){
$("#navbar_inner").css({"width":"972px","margin-left":"0px"});
$(".nav_list li").delay(800).fadeIn(500);
},
function(){
$(".nav_list li").stop(true,true);
$(".nav_list li").fadeOut(001);
$("#navbar_inner").css({"width":"70px","margin-left":"451px"});
});如何在当前代码上实现所需的结果
发布于 2013-08-29 09:57:41
$(".nav_list li").css('display', 'none');
function handler1() {
$(this).off('hover').one("click", handler2);
}
function handler2() {
$(this).on('hover').one("click", handler1);
}
$("#navbar").one("click", handler1);在OP的评论之后更新
$(".nav_list li").css('display', 'none');
function animate() {
$("#navbar_inner").css({
"width": "972px",
"margin-left": "0px"
});
$(".nav_list li").delay(800).fadeIn(500);
}
function animate_off() {
$(".nav_list li").stop(true, true);
$(".nav_list li").fadeOut(1);
$("#navbar_inner").css({
"width": "70px",
"margin-left": "451px"
});
}
function handler1() {
$(this).off('hover').one("click", handler2);
}
function handler2() {
$(this).on('hover', function () {
animate();, animate_off();
}).one("click", handler1);
}
$("#navbar").one("click", handler1);发布于 2013-08-29 09:43:01
是的有可能。您可以使用.on() 事件来完成它,单击处理程序附件。
$('#navbar').on('click', function(){
//ToDos
$(this).unbind('hover'); //Incase if you want to stop hovering
});我建议您使用.on()和.off()事件处理程序附件。
isHover = true; // Bool variable to hover or not
$("#navbar").on('hover', animation);
$('#navbar').on('click', function () {
if (isHover) {
$(this).off('hover');
isHover = false;
} else {
$(this).on('hover', animation);
isHover = true;
}
});
function animation() {
$("#navbar_inner").css({
"width": "972px",
"margin-left": "0px"
});
$(".nav_list li").delay(800).fadeIn(500);
}发布于 2013-08-29 09:46:01
$('#navbar').on('click', function(){
$("#navbar_inner").css({"width":"972px","margin-left":"0px"});
});https://stackoverflow.com/questions/18507386
复制相似问题