2015-05-27 65 views
0

我有這個代碼,其中鏈接是基於隨機函數呈現。我希望能夠將其更改爲不隨機的地方,並且我可以通過帶有循環函數的鏈接遍歷i ++,並且他會記住他離開的位置,即使該網站已經離開並且有新的訪問者。例如:訪客x點擊鏈接並被重定向到鏈接1,一天後,訪問者y訪問鏈接點擊並重定向到鏈接2等等。當循環處於最後一個鏈接時,在這種情況下鏈接3,他需要再次從1開始。我不知道從哪裏開始,並想知道你們是否對此有任何想法。如何使用內存編寫循環鏈接生成器?

乾杯:)

<script type="text/javascript'> 
    function links_3(){ 
     var mylink=Math.round(Math.random()*2) 
     var link1="http://www.test1.com" 
     var link2="http://www.test2.com" 
     var link3="http://www.test3.com" 
     if (mylink==0) 
      window.location=link1 
     else if (mylink==1) 
      window.location=link2 
     else if (mylink==2) 
      window.location=link3 
    } 
</script> 
<form> 
    <input type="button" value="link!" onClick="links_3()"> 
</form> 
+0

你試圖重新'myLink的= 0'的價值,當它到達最後一個環節 – Saubar

+1

你必須做到這一點的服務器端。答案將取決於你所使用的服務器端技術的 - 操作系統,腳本語言,數據庫。 –

回答

0

這可能是工作,我想。點擊下面的運行代碼片段來運行代碼。

它不會記得的位置,如果用戶重新加載頁面,但你可以使用一個Cookie和標識符初始化i。這部分練習是留給你的。

編輯:我誤讀了你的問題。我沒有意識到你想要一個跨多個訪問者的有狀態循環。我懷疑這個答案將幫助你多少呢。祝你好運。

function statefulLinkCycle(links) { 
 
    var i = 0; 
 
    return function (event) { 
 
    if (i === links.length) i = 0; 
 
    alert(links[i]); 
 
    i++; 
 
    }; 
 
}; 
 

 

 
var b = document.querySelector("input"); 
 

 
b.addEventListener("click", statefulLinkCycle([ 
 
    "http://google.com?q=1", 
 
    "http://google.com?q=2", 
 
    "http://google.com?q=3" 
 
]));
<input type="button" value="click">

相關問題