【发布时间】:2015-07-21 15:17:28
【问题描述】:
我遇到了问题,我尝试像以下帖子那样设置延迟: stackoverflow: jQuery: Can I call delay() between addClass() and such? 但这对我不起作用。
$( "#nav2" ).click(function() {
var notshown = $("#dropdown1", "#dropdown2");
var dropdown2 = $("#dropdown2");
if (dropdown2.hasClass( "unselected" ) || dropdown2.hasClass( "unshown" ) ) {
notshown.removeClass('unshown').delay(1000).queue(function(){
var dropdown1 = $("#dropdown1");
var dropdown2 = $("#dropdown2");
var navwrapper = $("#navwrapper");
dropdown1.removeClass('unselected');
dropdown2.removeClass('unselected');
navwrapper.removeClass('unselected');
dropdown1.addClass('unselected').dequeue();
};
}else{
dropdown2.addClass('unshown');
navwrapper.addClass('unselected');
dropdown1.addClass('unshown');
}
});
也尝试了淡入/淡出,但仍然没有动作。
$("#nav1").click(function () {
var dropdown1 = $("#dropdown1");
var dropdown2 = $("#dropdown2");
var navwrapper = $("#navwrapper");
if (dropdown1.hasClass("unshown")) {
dropdown1.removeclass('unshown');
dropdown1.delay(200).fadeIn(500).delay(200);
navwrapper.removeclass('unshown');
} else {
dropdown2.addclass('unshown');
navwrapper.addclass('unshown');
dropdown1.delay(200).fadeOut(500);
dropdown1.addclass('unshown');
};
};
【问题讨论】:
-
"It doesn't work for me"怎么样? -
@Newd 我想删除未显示的类,然后我想延迟添加类并删除未选择的类,因此当您更改 CSS 中的显示时,它不是“弹出窗口”。如果我只是改变显示模式,它不能用css淡入。如果我只是用 rgba 制作它,它仍然是可点击的。
-
@Chimposant:
#nav1点击可以正常工作吗?是#nav2点击给您带来了问题? -
@TahirAhmed link 这是正在运行的最新版本。但是问题仍然存在,如果我使用“display:none”,链接会“弹出”出来,所以当 navwrapper 收缩或扩展时没有淡入/淡出。
-
@Chimposant:所以如果我理解正确,您希望
navwrapper先收缩,然后再扩展。您想相互转换,但navwrapper在两者之间扩展和收缩?
标签: jquery