我有三個主題標籤URL的網頁:當所有鏈接被點擊後重定向?
<a href="#Link1">Some Text 1</a>
<a href="#Link2">Some Text 2</a>
<a href="#Link3">Some Text 3</a>
一旦用戶點擊了三個,我需要他們重定向到另一個網址。
有沒有人有一個例子,或知道我可以做到這一點?
我有三個主題標籤URL的網頁:當所有鏈接被點擊後重定向?
<a href="#Link1">Some Text 1</a>
<a href="#Link2">Some Text 2</a>
<a href="#Link3">Some Text 3</a>
一旦用戶點擊了三個,我需要他們重定向到另一個網址。
有沒有人有一個例子,或知道我可以做到這一點?
試試這個:
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";
}
}
};
}
};
DEMO:http://jsfiddle.net/hCRtD/1/
爲了證明演示作品,點擊需要的最後一個前點擊一些錨幾次。它不會只完成3次點擊後完成(我的原始解決方案存在這種缺陷),但會等到每個點擊至少一次。
它爲所有<a>
標籤設置了一個特殊屬性,用於唯一標識它們。顯然,可以使用id
,但您沒有包含它,並且很容易以這種方式進行。
然後,當單擊一個錨點(僅其第一次)時,其唯一標識符被添加到一個集合(clicked
)。
當計數器(clicked_count
),每次第一次點擊一個錨點時遞增,達到首先找到的錨點的總數,那麼一切都已完成。
先生,您是天才!你的代碼幫助我走向了盡頭!非常感謝! –
@SarahChampion完全沒問題!讓我知道如果你需要更多的幫助,這:) – Ian
添加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>
並請javascript:
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
}
}
用戶點擊之後第三個鏈接,你不等待他/她閱讀相關的文字? – Christophe