我是一个javascript noob。一旦用户点击页面上的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.任何想法?
答案 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>');
}
}
答案 1 :(得分: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
)。
改变了什么
clickHandler
计数器正在重置,因此每次点击3次随机内容都会显示innerHTML
代替document.write
- 更好的做法count
,而不是检查pass
。示例 here 。