PHP和jQuery函数—;只工作一次?
我有以下功能。当我第一次单击时,它返回一个随机数,但所有后续的单击都返回相同的数。为什么它不刷新PHP和jQuery函数—;只工作一次?,php,jquery,Php,Jquery,我有以下功能。当我第一次单击时,它返回一个随机数,但所有后续的单击都返回相同的数。为什么它不刷新 <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#btn-get-rand
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#btn-get-random-image').click(function () {
$('#my-img').attr('src', '<?php echo $pics[array_rand($pics, 1)]; ?>');
});
});
</script>
$(文档).ready(函数(){
$(“#btn获取随机图像”)。单击(函数(){
$('my img').attr('src','');
});
});
这是因为您使用PHP生成随机数,并且不可能在调用JS函数时刷新它——此时它已嵌入HTML中。这是因为您使用PHP生成随机数,而且它不可能在调用JS函数时被刷新——此时它已嵌入HTML中。您的PHP正在创建JS代码,该代码在呈现页面时会发送到浏览器。每次调用JS函数都会按照呈现页面时的状态运行函数。您的PHP正在创建JS代码,呈现页面时会将其发送到浏览器。每次调用JS函数都会按照呈现页面时的状态运行函数。正如其他人所说,您使用的是PHP,它在服务器上执行一次并作为原始输出发送,因此图像不会更改。试试这个
编辑:修改代码,使其不那么糟糕。
var myPics=;
$(文档).ready(函数(){
$(“#btn获取随机图像”)。单击(函数(){
var指数;
做{
index=Math.floor(Math.random()*myPics.length);
}while(myPics的类型[索引]=“未定义”);
$(“#我的img”)
.attr('src',myPics[索引]);
});
});
这使用PHP的JSON编码器将数组转储到javascript,然后函数从该数组中随机选择一个图像进行显示。
do/while
循环可能不是必需的,我的测试显示,在数千次迭代中,分布非常均匀,但它仍然存在。正如其他人所说,您使用的是PHP,它在服务器上执行一次并作为原始输出发送,因此图像不会改变。试试这个
编辑:修改代码,使其不那么糟糕。
var myPics=;
$(文档).ready(函数(){
$(“#btn获取随机图像”)。单击(函数(){
var指数;
做{
index=Math.floor(Math.random()*myPics.length);
}while(myPics的类型[索引]=“未定义”);
$(“#我的img”)
.attr('src',myPics[索引]);
});
});
这使用PHP的JSON编码器将数组转储到javascript,然后函数从该数组中随机选择一个图像进行显示。
do/while
循环可能不是必需的,我的测试显示在数千次迭代中有一个非常好的近乎均匀的分布,但它仍然存在。可能是您也可以使用like而不是单击
$(document).ready(function(){
$('#btn-get-random-image').live("click", function () {
// your works here
}
});
还可以查看您也可以使用live
like而不是单击
$(document).ready(function(){
$('#btn-get-random-image').live("click", function () {
// your works here
}
});
还可以查看啊,好的。所以我需要用JS来做这个。啊,好的。所以我需要用JS来做这件事。