2016-10-19 87 views
0

對不起我不是在編碼經歷..讀取數據

我用的是頁面的滾動擺脫的document.body.scrollTop的值時,有一個window.onscroll事件在JavaScript中。有一個帶有display = block的div,高度爲60000. 我的內容位於具有固定位置的div中,因此始終停留在窗口的中心位置。

我在服務器上有十幾個文本文件,每個60000行,每行可以有大約60個字符長。這些行提供了有關固定div內容發生的數據。

我的目標是根據文件行數據根據滾動值更新我的內容(使用javascript)。

我發現如何在每個請求中使用php中的文件從一個文件中獲取一行(使用製表符),這似乎很快。

function readEvent($Dname,$Dvalue) { 
    $myobject = 'timelines/'.$Dname.'.txt'; 
    $ThisOne = new SplFileObject($myobject); 
    $ThisOne->seek($Dvalue-1); 
    $myResult = explode("\t", $ThisOne->current()); 
    return $myResult; 
} 

的Dvalue應的document.body.scrollTop,所以在javascript我有

window.onscroll = function() {timelineUpdate()}; 
function timelineUpdate() { 
    console.log(document.body.scrollTop); 
    var Devent = $readEvent(myDname,document.body.scrollTop); 
} 

當然,我不能做到這一點,從JavaScript調用PHP函數readEvent,傳遞參數給它並獲得結果。 那麼,我該如何做到這一點,我找不到方法。 或者我做錯了?

回答

0

它通過ajax調用發生,通過這篇文章。 http://fatfolderdesign.com/173/content-load-on-scroll-with-jquery

取代JS,使用jquery(使用jquery支持/處理所有移動兼容性問題)並執行ajax調用。您需要傳遞文件和當前的起始值。並且在你的php腳本中需要獲取參數並使用你提到的PHP函數讀取內容。

即.. $ file = $ _GET ['filename']; $ pos = $ _GET ['pos'];

<?php echo readEvent($ file,$ pos); ? >

+0

謝謝Senthil – Greg

+0

我無法讓它工作。 – Greg

+0

儘管嘗試和搜索其他帖子,但我仍然失蹤。我無法弄清楚如何從Javascript中調用我的php函數的文件名和位置參數,並將結果返回到javascript ... – Greg