在y向下滚动加载动态内容

时间:2014-07-10 22:02:35

标签: javascript jquery html

function yHandler(){ 
var wrap = document.getElementById('wrap'); 
var contentHeight = wrap.offsetHeight; 
var yOffset = window.pageYOffset; 
var y = yOffset + window.innerHeight; 
if(y >= contentHeight){ 
wrap.innerHTML += '<div class="newData"></div>'; 
} 
} 


div#wrap{width:800px; margin:0px auto;}
div.newData{height:50px; background:#09F; margin:10px 0px;}

这些是我拥有的div,目前在y向下滚动它加载这些浅蓝色条形图,但是我想加载我的对话而不是这些浅蓝色条形图,我如何调用我的对话

这是我的y处理程序。我希望它在页面到达底部时从我的数据库加载对话,我该怎么做?

1 个答案:

答案 0 :(得分:0)

使用AJAX(我喜欢在PHP中使用它,但您可以使用其他服务器端语言来传回响应)。你有wrap.innerHTML + =“”; ...使用AJAX从你的服务器端页面获得你想要的结果。

Brett McLaughlin在IBM网站上写了一些很好的文档,你可以通过谷歌搜索“掌握ajax网站:ibm.com filetype:pdf”而不用引号......

另外,如果您使用jQuery,请查看$ .ajax,$ .post或$ .get函数。

基本上使用jQuery,您可以调用:

$.post(
     'serversidepage.php',
     attrs, //being an array filled with variables you want to use on the server
     function(data){
        wrap.innerHTML += data;
        //or data.html if you decide to use JSON / XML to pass back your data
     }
);

然后在您的服务器上创建文件'serversidepage.php',并使用$ _POST变量确定使用attrs JS变量发送的内容,并回显您想要返回post命令的内容。一旦它返回,它将调用$ .post中的函数,这将在你的wrap元素中设置回显的数据。