Javascript 单击所有链接后重定向?

Javascript 单击所有链接后重定向?,javascript,html,redirect,cookies,href,Javascript,Html,Redirect,Cookies,Href,我有一个包含三个标签URL的页面: <a href="#Link1">Some Text 1</a> <a href="#Link2">Some Text 2</a> <a href="#Link3">Some Text 3</a> 一旦用户点击了所有三个,我需要将它们重定向到另一个URL 有没有人举过一个例子,或者知道我可以做这件事的方法?试试这个: window.onload = function () {

我有一个包含三个标签URL的页面:

<a href="#Link1">Some Text 1</a>
<a href="#Link2">Some Text 2</a>
<a href="#Link3">Some Text 3</a>

一旦用户点击了所有三个,我需要将它们重定向到另一个URL

有没有人举过一个例子,或者知道我可以做这件事的方法?

试试这个:

window.onload = function () {
    var anchors, clicked_count, clicked, i, cur_anchor, my_anchor_id;

    anchors = document.getElementsByTagName("a");
    clicked_count = 0;
    clicked = {};

    for (i = 0; i < anchors.length; i++) {
        cur_anchor = anchors[i];
        cur_anchor.setAttribute("data-anchor-id", i);
        cur_anchor.onclick = function (e) {
            e = e || window.event;
            e.preventDefault();

            my_anchor_id = this.getAttribute("data-anchor-id");
            if (!(my_anchor_id in clicked)) {
                clicked[my_anchor_id] = null;
                if (++clicked_count === anchors.length) {
                    console.log("WOULD BE REDIRECTING");
                    //window.location.href = "NEW URL";
                }
            }
        };
    }
};
window.onload=函数(){
变量锚定,点击计数,点击,我,当前锚定,我的锚定id;
anchors=document.getElementsByTagName(“a”);
点击次数=0;
点击={};
对于(i=0;i<0.length;i++){
cur_锚=锚[i];
cur_anchor.setAttribute(“数据锚id”,i);
cur_anchor.onclick=函数(e){
e=e | | window.event;
e、 预防默认值();
my_anchor_id=this.getAttribute(“数据锚id”);
如果(!(我的锚定id已单击)){
单击[my_anchor_id]=null;
如果(++clicked_count===anchors.length){
log(“将被重定向”);
//window.location.href=“新建URL”;
}
}
};
}
};
演示:

为了证明演示有效,在单击最后一个所需的锚之前,请单击一些锚几次。它不会只在总共点击3次后完成(我原来的解决方案有这样的缺陷),而是会等到每次点击至少一次

它在所有
标记上设置一个特殊属性,唯一地标识它们。显然,可以使用
id
,但您没有包含它,这样做很容易

然后,当锚定被单击时(仅第一次),其唯一标识符将被添加到集合中(
单击

当计数器(
clicked\u count
)达到在第一个位置找到的锚点总数时(每次单击锚点都会递增),则所有操作都已完成。

添加html类:

<a href="#Link1" class="redirect">Some Text 1</a>
<a href="#Link2" class="redirect">Some Text 2</a>
<a href="#Link3" class="redirect">Some Text 3</a>

在用户点击第三个链接后,你难道不等待他/她阅读相关文本吗?先生,你真是个天才!你的代码帮了我很多忙!非常感谢你@萨拉汉宾,没问题!如果您在这方面需要更多帮助,请告诉我:)
function catchAnchors(){
  var links = document.getElementsByClassName("redirect");//get your links
  for(var i=links.length-1;i>=0;i--){
   if(!links[i].wasClick)return;//if never clicked return;
  }
   location.href = "your url";//redirect
}

var links = document.getElementsByClassName("redirect");//get your links
for(var i=links.length-1;i>=0;i--){
  links[i].onclick = function(){
    this.wasClick = true;//set mark onclick event
    catchAnchors();//check links
  }
}