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 に答える