我在使用一大块 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>
提前感谢您提供的任何帮助。
只需在每次点击时在 javascript 中创建随机值 -
<script>
$('form').click(function() {
var randNum = Math.floor(Math.random() * 10) + 1;
$('#Q'+randNum).show();
});
</script>
看到这个 jsFiddle - http://jsfiddle.net/3cHtc/1/
如果你想使用你的洗牌 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>
js小提琴 - http://jsfiddle.net/3cHtc/4/