Javascript 通过AJAX重新加载div内容后,更新的html将消失
我有JS代码,每2秒重新加载一次我的div:Javascript 通过AJAX重新加载div内容后,更新的html将消失,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有JS代码,每2秒重新加载一次我的div: var auto_refresh = setInterval(function() { $('#indexRefresh').load('/includes/index_refresh_include.php?_=' + Math.random()); }, 2000); 然后我发出一个AJAX请求,当按下“加载更多”按钮时加载更多内容,但由于它正在重新加载,加载的内容消失了 $(function() { $(document).o
var auto_refresh = setInterval(function() {
$('#indexRefresh').load('/includes/index_refresh_include.php?_=' + Math.random());
}, 2000);
然后我发出一个AJAX请求,当按下“加载更多”按钮时加载更多内容,但由于它正在重新加载,加载的内容消失了
$(function() {
$(document).on("click", ".loadmore", function() {
var ID = $(this).attr("id");
var split = ID.split("-");
if (ID) {
$("#more" + ID).html('<img src="moreajax.gif" />');
$.ajax({
type: "POST",
url: "loadmore.php",
data: "rowstart=" + ID,
cache: false,
success: function(html){
$("#updates").append(html);
$("#more" + ID).remove();
}
});
}
else {
$(".morebox").html('The End');
}
return false;
});
});
我应该怎么做才能使加载的内容不会消失
编辑:
这是html
echo"<div id='indexRefresh'>";
include INC.'index_include.php';
echo"</div>";
这是index_refresh_include.php文件
$result1 = dbquery("SELECT DISTINCT model_id, model_username FROM models LEFT JOIN `show` ON models.model_id=show.show_model_id ORDER BY show_ended=0 DESC, model_id ASC LIMIT 6");
$rowstart = 0;
echo"<section class='list'>";
echo" <div id='updates'>";
echo" <div class='small_block'>";
while($data = dbarray($result1)){
$modelID = $data['model_id'];
$result = dbquery("SELECT * FROM `show` WHERE show_model_id='$modelID'");
if(dbrows($result) >= 5){
echo" <article>";
} else {
echo" <article class='new'>";
}
echo" <a class='checkcam' href='checkcam.php?model=".$data['model_username']."'>";
echo" <img src='".getAvatar($data['model_id'])."' alt='' />";
echo" </a>";
echo" </article>";
$rowstart++;
}
echo" </div>";
$blockstart = 0;
$large = dbquery("SELECT * FROM largeblocks WHERE large_status=1 ORDER BY large_pos ASC LIMIT 1 OFFSET $blockstart");
if(dbrows($large) != 0){
while($block = dbarray($large)){
echo" <div class='large_block'>";
echo" <article>";
echo" <a href='Cam.php?show=1'>";
echo" <img src='http://placehold.it/600x600' alt='' />";
echo" </a>";
echo" </article>";
echo" </div>";
$blockstart++;
}
} else {
$model = dbquery("SELECT * FROM models ORDER BY model_credits DESC LIMIT 1 OFFSET $blockstart");
while($block = dbarray($model)){
echo" <div class='large_block'>";
echo" <article>";
echo" <a class='checkcam' href='checkcam.php?model=".$block['model_username']."'>";
echo" <img src='".getAvatar($block['model_id'], '600x600')."' alt='' />";
echo" </a>";
echo" </article>";
echo" </div>";
$blockstart++;
}
}
echo" <br class='clear' />";
$large = dbquery("SELECT * FROM largeblocks WHERE large_status=1 ORDER BY large_pos ASC LIMIT 1 OFFSET $blockstart");
if(dbrows($large) != 0){
while($block = dbarray($large)){
echo" <div class='large_block'>";
echo" <article>";
echo" <a href='Cam.php?show=1'>";
echo" <img src='http://placehold.it/600x600' alt='' />";
echo" </a>";
echo" </article>";
echo" </div>";
$blockstart++;
}
} else {
$model = dbquery("SELECT * FROM models ORDER BY model_credits DESC LIMIT 1 OFFSET $blockstart");
while($block = dbarray($model)){
echo" <div class='large_block'>";
echo" <article>";
echo" <a class='checkcam' href='checkcam.php?model=".$block['model_username']."'>";
echo" <img src='".getAvatar($block['model_id'], '600x600')."' alt='' />";
echo" </a>";
echo" </article>";
echo" </div>";
$blockstart++;
}
}
$result1 = dbquery("SELECT DISTINCT model_id, model_username FROM models LEFT JOIN `show` ON models.model_id=show.show_model_id ORDER BY show_ended=0 DESC, model_id ASC LIMIT 6 OFFSET $rowstart");
echo" <div class='small_block'>";
while($data = dbarray($result1)){
$modelID = $data['model_id'];
$result = dbquery("SELECT * FROM `show` WHERE show_model_id='$modelID'");
if(dbrows($result) >= 5){
echo" <article>";
} else {
echo" <article class='new'>";
}
echo" <a class='checkcam' href='checkcam.php?model=".$data['model_username']."'>";
echo" <img src='".getAvatar($data['model_id'])."' alt='' />";
echo" </a>";
echo" </article>";
$rowstart++;
}
echo" </div>";
echo" <br class='clear' />";
echo" </div>";
echo" <div id='more$rowstart-$blockstart' class='morebox'>";
echo" <a href='#' class='loadmore gardient' id='$rowstart-$blockstart'>".$lang['index_loadmore']."</a>";
echo" </div>";
echo"</section>";
这是正确的代码
var auto_refresh = setInterval(function() {
$('<div></div>').appendTo('#indexRefresh').load('/includes/index_refresh_include.php?_=' +Math.random());
}, 2000);
每当id为indexRefresh的div上有一个时,就会追加该命令。然后在新div中加载URL
请参见是加载更多嵌套在indexRefresh div中的内容的元素吗?ajax请求不会重新加载页面。什么元素是。加载更多?为了澄清您的问题,您应该添加html标记。我们需要查看html页面的结构。顺便说一句,includes/index_refresh_include.php?='+Math.random不能保证每次都绕过缓存。您需要将缓存控制头设置为Yes,它也需要重新加载,就像第一个内容一样。。基本上,有一个php脚本可以从mysql数据库中获取内容,js脚本正在重新加载它,如果任何内容改变了位置,load more(加载更多)按钮只会从数据库中加载更多内容,您需要重新加载做什么?为什么不重新检查是否有新内容,然后将新内容附加到开始处,而不是每2秒重新加载一次?这不是每2秒复制一次内容吗?@SheldonNeilson你说得对。我现在已经修好了,它每2分钟会创建多个副本seconds@SpeekaDievs不,它在主div上附加了一个div,然后在最后一个div中加载我在fiddle中看到的URL,从视觉上它创建了登录表单的副本
请参见是加载更多嵌套在indexRefresh div中的内容的元素吗?ajax请求不会重新加载页面。什么元素是。加载更多?为了澄清您的问题,您应该添加html标记。我们需要查看html页面的结构。顺便说一句,includes/index_refresh_include.php?='+Math.random不能保证每次都绕过缓存。您需要将缓存控制头设置为Yes,它也需要重新加载,就像第一个内容一样。。基本上,有一个php脚本可以从mysql数据库中获取内容,js脚本正在重新加载它,如果任何内容改变了位置,load more(加载更多)按钮只会从数据库中加载更多内容,您需要重新加载做什么?为什么不重新检查是否有新内容,然后将新内容附加到开始处,而不是每2秒重新加载一次?这不是每2秒复制一次内容吗?@SheldonNeilson你说得对。我现在已经修好了,它每2分钟会创建多个副本seconds@SpeekaDievs不,它在主div上附加了一个div,然后在最后一个div中加载我在fiddle中看到的URL,从视觉上它创建了登录表单的副本