2013-01-18 25 views
0

我是一個JavaScript的noob位。我希望在用戶點擊頁面上的3個鏈接後,更改我的頁面上顯示的不同內容。 因此,我想我想要一個變量,每次點擊鏈接時增加一個if語句,只有當變量達到我想要的數字時,內容纔會出現。這是我到目前爲止有:使內容可見一旦Javascript變量達到特定數字

<script> 
var pass = 0; 
function clicked() { 
pass = pass + 1; 
} 
</script> 

然後在鏈接:

<a href="example.com" onclick="clicked();">LINK</a> 

然後在內容

<script>  
if (pass > 1) { 
document.write('<a href="first.html">First</a><br>') } 
else {document.write('<a href="second.htm">Second</a><br>') } 
</script> 

它不工作和變量總是等於0.任何想法?

回答

1

您'內容腳本'僅調用一次(當pass仍爲零時)。

你每次都要檢查鏈接被點擊時:

var pass = 0; 
function clicked() { 
    pass = pass + 1; 
    if (pass > 1) { 
     document.write('<a href="first.html">First</a><br>'); 
    } else { 
     document.write('<a href="second.htm">Second</a><br>'); 
    } 
} 
+0

但是如果被點擊的東西與點擊時改變的東西完全不同的元素會怎樣? – guru

0

下面是一個例子:

var count = 1, 
    topics = ['Hello', 'Well...', 'Goodbye']; 
function clickHandler() { 
    if (count >= 3) { 
    changeText(Math.round((Math.random() * 2))); 
    count = 1; 
    } else { 
    count += 1; 
    } 
} 

function changeText(idx) { 
    document.getElementById('content').innerHTML = topics[idx]; 
} 

當鏈接被按下3次,你會得到隨機內容該列表(topics)。

什麼改變

  1. clickHandler計數器被重置,以便各3次點擊隨機內容將顯示
  2. 我用innerHTML代替document.write - 其更好的做法
  3. count檢查上每次點擊而不是像你一樣檢查pass

實施例here

相關問題