我创建了一个fiddle对于以下情况,我想了解如何使用 jQuery 实现它。
我有几个像这样的div:
<div class="mydiv"><a href="http://www.google.com">google.com</a></div>
<div class="mydiv"><a href="http://www.yahoo.com">yahoo.com</a></div>
<div class="mydiv"><a href="http://www.baidu.com">baidu.com</a></div>
这样的例子不胜枚举(大约有 20 个 div)。
当用户点击第一个 div(第一个事件)时,他将转到 该链接的页面(在我的例子中是 google.com);
当用户点击第二个div(第二个事件)时,他将转到该链接的页面(yahoo.com);
当用户点击第三个 div(第三个事件)时,他将转到 自定义 URL,而不是 baidu.com;
但是如果用户再次点击第三个div(第4个事件),他将转到baidu.com
总而言之,我需要一个 jQuery 代码的想法,用于注册点击事件,并且在每个第三个事件上,用户将被重定向到自定义 url。
我首先教的是使用切换,但我不确定它是否可以实现。
最佳答案
即使您离开页面,此解决方案也会维护一个计数器:
$(function(){
var nbc = localStorage['nbc']||0;
$('a').click(function(){
localStorage['nbc'] = ++nbc;
if (nbc%3==0) {
document.location = "yourUrl";
return false; // in case the link opens in another page
}
});
});
编辑,评论中问题的一些答案:
要在新选项卡中打开 html 链接,请执行以下操作:
<a href=... target=_blank>text</a>
要在新选项卡(或窗口,取决于浏览器和首选项)中以编程方式打开,请使用
window.open("yourUrl");
只有当您控制新页面并且它来自同一来源时,才能在打开后使打开器窗口获得焦点。在这种情况下,只有您可以在新页面中看到此内容:
window.opener.focus();
关于注册点击事件的 jQuery 代码,在每个第三个事件中,用户将被重定向到自定义 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707319/