我有3個函數與下面的函數相同。 ShowAction2(),ShowAction3()和ShowAction4()。每個函數負責顯示DIV,隱藏其他DIV以及添加和刪除類。函數有時需要雙擊才能工作
然後刪除showAction()函數並添加一個新函數gogo()。如果第二次調用該函數,則會顛倒整個過程。
$("#clickDiv").click(function showAction(){
$("#infDivOne").show();
$("#infDivTwo, #infDivThree, #infDivFour").hide();
$(".goActive2, .goActive3, .goActive4").removeClass('glow');
$("#clickDiv2, #clickDiv3, #clickDiv4").removeClass('rotated');
$("#clickDiv").addClass('rotated');
$(".goActive").addClass('glow');
$("#clickDiv").off('click');
$("#clickDiv").on('click', function gogo(){
$("#infDivOne").hide();
$(".goActive").removeClass('glow');
$("#clickDiv").removeClass('rotated');
$("#clickDiv").off('click');
$("#clickDiv").on('click',showAction);
});
});
我敢肯定,有更好的方法來實現類似的結果,但現在,這是一種工作。唯一的問題是,有時我必須雙擊要調用的函數的按鈕。
我最終將取代整個功能,但任何人都可能指出爲什麼它需要雙擊有時和其他時間點擊一次?
(我提前道歉,任何人誰試圖通過這個jibberish閱讀。)
click事件可能是最主要的原因。 –
你正試圖將兩個點擊事件分配給相同的id'clickDiv'?並單擊點擊事件內的事件? – Unknown
這裏的功能似乎鬆散地模仿舊的.toggle(fn,fn)方法,id'建議查看toggleClass方法。 –