我有不同的功能,例如:
function showpanel() {
$( ".top-buttons .col-md-4 a" ).addClass('crop-anim');
$('body').addClass('stepone')
}
function showcolor() {
$( ".top-buttons .col-md-4 a" ).addClass('cropcolor')
}
function hidepanel() {
$( ".top-buttons .col-md-4 a" ).removeClass('crop-anim')
// $( ".top-buttons .col-md-4 a" ).addClass('slideup')
$( ".top-buttons .col-md-4 a img.crop" ).removeClass('hide')
$( ".top-buttons .col-md-4 a .right-align" ).removeClass('before')
$( ".top-buttons .col-md-4 a img.title" ).removeClass('before')
// $( ".top-buttons" ).removeClass('before')
// $( ".top-buttons" ).css('margin-top','0px')
}
我想在单击时触发特定的功能,该功能正常:
$("#body").click(function() {
showpanel()
});
上述功能完美。
但是,如果我想在函数显示器完成后立即启动函数hidepanel((?
我该如何实现?
我尝试了以下方案:
$("#body").click(function() {
showpanel()
hidepanel(2800)
});
喜欢添加延迟2800毫秒,但没有成功。。。
方案2我要实现;
在Showpanel函数的末尾,HidePanel函数直接触发。然后再次单击身体div,它将触发函数showcolor。
这是怎么做的?任何帮助/指示都将是超级!
谢谢!
a setTimeout()
当然是您追求的。
$("#body").click(function() {
showpanel();
setTimeout(function(){
hidepanel();
},2800);
});
编辑
要触发基于"单击序列"的不同操作,您可以使用switch()
var clickCounter = 0;
$("#body").click(function() {
// Increment clickCounter
clickCounter++;
switch (clickCounter){
// First click
case 1:
showpanel();
setTimeout(function(){
hidepanel(2800)
},2800);
break;
// Second click
case 2:
FirstOtherAction();
break;
// Third click
case 3:
secondOtherAction();
break;
// All subsequent clicks
default:
allOtherAction();
break;
} // End switch
}); // End click handler