-2

我遇到了一大段 PHP/jQuery 代码的问题。

背景信息: 我的页面上有 10 个 div,它们有自己的 id,命名为 Q1 - Q10。在页面加载时,所有的 div 在页面上都使用 jQuery hide 命令隐藏。在 PHP 中,我有一个名为“tracker”的数组,其中包含 10 个数字的随机列表,范围从 1 到 10,没有重复的数字。我还有一个用作索引的变量“x”。这两个变量都在我页面顶部的一些 PHP 中声明和填充。

问题: 当第一次按下按钮时,代码完美执行,向用户显示第一个随机 div。所有额外的点击什么都不做。

我希望看到的结果: 每次单击我的按钮时,都会向用户显示一个新的 div。

    <script>$('form').click(function()
    {
      <?php
        echo "$('#Q" . $tracker[$x] . "').show();" ;
            $x++;
      ?>

    });
   </script>

预先感谢您提供的任何帮助。

4

1 回答 1

3

只需在每次点击时在 javascript 中创建随机值 -

<script>
  $('form').click(function() {
    var randNum = Math.floor(Math.random() * 10) + 1;
       $('#Q'+randNum).show();
  });
</script>

看到这个 jsFiddle - http://jsfiddle.net/3cHtc/1/


如果你想使用你的 shuffled php 数组$tracker,那么你需要将完整的数组顺序添加到你的 javascript 中,这可以使用json_encode()

<script>
  var counter = 0;
  var randNum = <?php echo json_encode($tracker); ?> // print the $tracker array as a json array
  $('form').click(function() {
       $('#Q'+randNum[counter]).show(); 
       counter +=1; // increase the counter
  });
</script>

jsFiddle - http://jsfiddle.net/3cHtc/4/

于 2013-10-12T05:07:44.500 回答