抱歉,我没有编码经验..
当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,将参数传递给它并获得结果。 所以我该怎么做,我找不到方法。 或者我可能做错了吗?
答案 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); ?>