$(document).ready(function(){
$(".reload").click(function() {
$("div#update").fadeOut("fast")
.load("home.php div#update").fadeIn("fast")
});
});
function statusUpdate() {
$service_query = mysql_query("SELECT * FROM service ORDER BY status");
$service_num = mysql_num_rows($service_query);
for ($x=1;$x<=$service_num;$x++) {
$service_row = mysql_fetch_row($service_query);
$second_query = mysql_query("SELECT * FROM service WHERE sid='$service_row[0]'");
$row = mysql_fetch_row($second_query);
$socket = @fsockopen($row[3], $row[4], $errnum, $errstr, 0.01);
if ($errnum >= 1) { $status = 'offline'; } else { $status = 'online'; }
mysql_query("UPDATE service SET status='$status' WHERE sid='$row[0]'")
or die(mysql_error());
?>
<ul><li style="min-width:190px;"><?php echo $row[1]; ?></li>
<li style="min-width: 190px;" title="DNS: <?php echo $row[2]; ?>">
<?php echo $row[3] . ':' . $row[4]; ?></li>
<li class="<?php echo $status; ?>" style="min-width:80px;"><div id="update">
<?php echo $status; ?></div></li></ul>
<?php
}
}
?>
<?php statusUpdate(); ?>
我有一个按钮,我按下(刷新),然后刷新#update id以希望fadeOut所有结果,然后淡入新结果...问题是它淡出它们没关系,但是当它把它们带回来,它只是div和div的div并且看起来非常混乱 - 没有做它的意图(必须上传图片以提供更多信息)。
简而言之,我想要发生的事情就是当你点击更新时,它们都将逐渐消失,然后用来自php的更新值淡入...我将php / mysql变成了一个函数,然后我可以调用当我点击那个刷新按钮时,认为这样可行,但我不知道该怎么做......
提前谢谢你,
菲利普。
答案 0 :(得分:1)
Javascript
$(document).ready(function(){
$(".reload").click(function() {
$("div#update").fadeOut("fast");
$.ajax({
url:'home.php',
data:{type:'getStatus'},
type;'post',
success:function(data){
$('div#update').html(data).fadeIn('fast');
}
});
});
});
php页面格式
<?php
$type= $_POST['type'];
if($type=="getStatus")
{
//get statuses from data base and return only formatted statuses in html
}
else
{
//your page codes here
//like tags <html>,<body> etc, all regular tags
//<script> tags etc
}
?>
答案 1 :(得分:1)
.load("home.php div#update").fadeIn("fast")
那是错的。你需要使用,
$('div#update').load('home.php', function(data) {
$('div#update').html(data).fadeIn("fast");
});
通过直接调用并确认它正确返回结果,确保您的PHP文件正常工作。
答案 2 :(得分:0)
试试这个
var $data = $('div#update');
$data.fadeOut('slow', function() {
$data.load('home.php div#update', function() {
$data.fadeIn('slow');
});
});
答案 3 :(得分:0)
仅供参考,最好在同一目录中添加一个额外的页面(例如:phpcode.php)然后将你的php代码放在那里!然后试试这个:
var $data = $('div#update');
$data.fadeOut('slow', function() {
$data.load('phpcode.php div#update', function() {
$data.fadeIn('slow');
});
});