好吧,所以需要通過jquery更改鏈接。下面的代碼工作正常,但它立即行動。我只需要點擊下一次點擊鏈接,而不是當前點擊鏈接。希望這是有道理的?JQuery:更改href鏈接,但只能在下一次點擊
任何幫助表示讚賞。
$("#m-menu").click(function(){
$("#menu").animate({right: 0}, 500, "easeInOutCirc");
$(this).text($(this).text() == 'HOME' ? 'HOME' : 'HOME');
$(this).attr('href', 'http://backtohomepage.com');
});
編輯:感謝所有的答案傢伙 - 它並不像作爲每隔一個點擊的解決方案和大的道歉不更清澈第一次輪簡單。這裏是源代碼頁面(爲了更好地說明我的需求,我沒有在上面應用.attr代碼):http://joinersart.co.uk/mtest
基本上,當用戶單擊左/右箭頭瀏覽圖庫時,看菜單欄縮小。爲了恢復,請點擊「菜單」。一旦它再次退出,「菜單」文本將變爲「主頁」,並具有新功能 - 鏈接到主頁。當然,如果再次點擊左/右箭頭,它會切換回「MENU」並將其功能改回到展開菜單欄。所以基本上這個鏈接有兩個功能(主頁鏈接 - 「HOME」或菜單欄擴展 - 「菜單」),取決於菜單欄是否伸出或縮進。
當我嘗試要應用上面的.attr代碼,會發生什麼 - 用戶單擊「MENU」鏈接而不是菜單欄展開,它們會立即被帶到主頁,因此它會過早地激活鏈接,並執行click函數。我需要做的是擴大菜單欄,並首先將文本從「MENU」更改爲「HOME」。只有當用戶點擊它時,纔會進入主頁。
什麼是第一次點擊的點?或者你想只響應雙擊?你是否考慮過從animate方法的回調中重新設置click事件(假設你只希望它在動畫完成後表現不同)? – Sampson
這是什麼:'$(this).text($(this).text()=='HOME'?'HOME':'HOME')'?該條款沒有任何意義。 – VisioN
@VisioN - 它非常有意義,它只是一個同義反復。 – Blazemonger