0

我是一个 javascript 菜鸟。一旦用户点击了页面上的 3 个链接,我想让不同的内容出现在我的页面上。因此,我假设我想要一个在每次单击链接时都会增加的变量,以及一个 if 语句,该语句仅在变量达到我想要的数字时才显示内容。这是我到目前为止所得到的:

<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。有什么想法吗?

4

2 回答 2

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>');
   }
}
于 2013-01-18T09:42:36.400 回答
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

这里的例子。

于 2013-01-18T09:44:50.687 回答