从服务器上的文件读取数据并更新内容

时间:2016-10-19 10:37:56

标签: javascript php jquery html ajax

抱歉,我没有编码经验..

当javascript中有window.onscroll事件时,我使用页面滚动从document.body.scrollTop获取值。有一个显示=块的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,将参数传递给它并获得结果。 所以我该怎么做,我找不到方法。 或者我可能做错了吗?

1 个答案:

答案 0 :(得分:0)

它通过ajax调用发生,请阅读本文。 http://fatfolderdesign.com/173/content-load-on-scroll-with-jquery

使用Jquery(使用jquery支持/处理所有移动兼容性问题)而不是JS,并执行ajax调用。您需要传递文件和当前起始值。在您的PHP脚本中需要使用您提到的PHP函数获取参数并读取内容。

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

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