我遇到了一大堆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>
提前感谢您提供的任何帮助。
答案 0 :(得分:3)
只需在每次点击时在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>
jsFiddle - http://jsfiddle.net/3cHtc/4/