2014-01-14 83 views
0

我有一個網頁,我有無限的滾動,它的效果很好,但是當數據從第二頁(比如scroling.php)無限滾動到第一頁(比如說home頁面)重新加載它只是消失。我的意思是它沒有顯示。無限滾動和重新加載附加數據

花了幾個小時我才知道,這是因爲當我嘗試重新加載任何附加div的從第二頁(scrolling.php)變量(請求的頁面)的價值消失後。

我覺得我的代碼將使其更清晰:

$(document).ready(function() { 
    var page = 1; 
    var height = $("#forheight").height(); 
    $(window).scroll(function() { 
     if ($(window).scrollTop() + height >= $("#forscrilling").height()-10) { 
      document.getElementById('infiscroll').style.display = 'block'; 
      page++; 
      var data = { 
       requested_page: page, 
       listoffrndsinimplode: "<?php echo $listoffrndsinimplode; ?>" 
      }; 
      var actual_count = "<?php echo $noofposts; ?>"; 
      if ((page-1)*13 >= actual_count) { 
       document.getElementById('infiscroll').style.display='none'; 
      } else { 
       $.ajax({ 
        type: "POST", 
        url: "scrolling.php", 
        data:data, 
        success: function(res) { 
         $("#loadinto").append(res); 
         document.getElementById('infiscroll').style.display='none'; 
        } 
       }); 
      } 
     } 
    }); 
}); 

這是無限滾動和下面的代碼是在第二頁的第一頁:

<?php 
session_start();        
include_once('conn.php'); 
$name = $_SESSION['name']; 
$id = $_SESSION['id']; 
$email = $_SESSION['email']; 
include_once('time.php'); 
$requested_page = $_POST['requested_page']; 
$set_limit = (($requested_page - 1) * 13).",13"; 
$listoffrndsinimplode = $_POST['listoffrndsinimplode']; 
$slashes = array("\'"); 
$friendswithoutslashes = str_replace($slashes, "'", "$listoffrndsinimplode"); 
$detailsoffrienda = mysql_query(" 
    select * from fk_views where (
     session_id IN ($friendswithoutslashes) or 
     onprf_of IN ($friendswithoutslashes)) and 
     (views !='' or uploadpic !='') 
    order by id desc 
    limit $set_limit 
"); 
?> 

這是代碼我用於使用AJAX重新加載div,這是在第一頁上:

function hits(obj) { 
    var currentrateform = $(obj); 
    var id = $(obj).attr("id"); //hitsform.... 
    $.ajax({ 
     type: 'POST', 
     url: 'rating-manager.php', 
     data: currentrateform.serialize(), 
     success: function(){ 
      $("#rate"+id).load("home.php #rate"+id); 
     } 
    }); 
    return false; 
} 

每個div都有一個唯一的id,比如rate +註釋的id是唯一的,所以id看起來像rate1,rate2,rate3

我認爲當請求頁面的值離開第二頁面時,不存在該評論的標識,所以它只是消失,因爲該頁面沒有任何div與該標識。

我只想問我如何在第二頁上存儲請求頁面的值。我無法將它存儲到會話或cookie中,因爲請求的頁面可能是2,3,4,5,6,7 - 任何事情 - 而且我有許多這樣的頁面。

回答