2015-04-16 33 views
-1

我有JS代碼,重新加載每2秒我的div:通過AJAX重裝格內容之後,更新HTML消失

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>"; 
+0

是在其中加載嵌套的'indexRefresh' DIV中的'more'內容的元素? – Markai

+0

'ajax'-request不會重新加載頁面。什麼元素是'.loadmore'?爲了澄清你的問題,你需要添加你的html標記 – empiric

+0

我們需要看到html頁面的結構。 BTW /includes/index_refresh_include.php?_='+ Math.random()不保證你每次都繞過緩存。你需要設置緩存控制頭 –

回答

2

這是正確的代碼

var auto_refresh = setInterval(function() { 
    $('<div></div>').appendTo('#indexRefresh').load('/includes/index_refresh_include.php?_=' +Math.random()); 
}, 2000); 

這各追加TI我一個< div>在div id = indexRefresh。然後將新的div的URL

內負荷見fiddle

+0

這是不是每隔2秒就複製一次內容? –

+0

@SheldonNeilson你是對的。我現在修復它 – MaVRoSCy

+0

它創建多個重複每2秒 – SpeekaDievs