好吧,所以需要通过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