我正在尝试为输出的每个数据库结果生成随机div宽度。
代码在循环外部时有效,但每个div都是相同的“随机”宽度。
麻烦的是,我需要每个div都是随机宽度,而不是所有相同的随机宽度...因为这个原因我在循环中添加了我的javascript以获得一个新的'随机'宽度输出数据库值的时间。
当然,它不起作用!
<?php
$result = mysql_query("SELECT * from tbl_status ORDER BY tbl_status.date desc");
while($row = mysql_fetch_array($result))
{
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var x = Math.floor((Math.random()*150)+150);
$('.statusCont').width(x+'px');
});
</script>
echo'
<div class="statusCont">
<div class="statusUsr">Tom Adams - Newcastle</div>
<div class="statusTxt"><p>' . $row['status'] . '</p></div>
</div><!-- ends .statusCont -->
';}
?>
答案 0 :(得分:0)
所有div具有相同随机宽度的原因是因为jquery类选择器$('.statusCont')
将返回该类的所有元素。因此,当您的循环打印出最后一个选择器时,它将应用于所有先前加载的元素。
不是在php while
循环中包含javascript,你可以在头部编写一个脚本,它会在页面加载后影响页面
$(document).ready(function () {
$('.statusCont').each(function () {
var x = Math.floor((Math.random() * 150) + 150);
$(this).width(x);
});
);