Javascript 动态div不点火
我试图在我的div中创建一个动态滚动条,在我到达div底部之前,数据可以一直加载。我的耳朵都湿透了,不确定我是否以正确的方式看待这个问题,因为我的代码根本没有启动。任何指导都将不胜感激Javascript 动态div不点火,javascript,jquery,Javascript,Jquery,我试图在我的div中创建一个动态滚动条,在我到达div底部之前,数据可以一直加载。我的耳朵都湿透了,不确定我是否以正确的方式看待这个问题,因为我的代码根本没有启动。任何指导都将不胜感激 function yHandler (){ var movelist = document.getElementById('movelist'); //turning div into an object var contentHeight = movelist.offsetHeight
function yHandler (){
var movelist = document.getElementById('movelist');
//turning div into an object
var contentHeight = movelist.offsetHeight;
//gets page content height, this so you know how much vetical pixel height you
//have on the page
var yOffset = movelist.pageYoffset;
//get vertical scroll position, lets you know where the user is in their scroll
//postion
var y = yOffset + movelist.innerHeight;
//getting inner height of div
if(y >= contentHeight){
//if the user scrolls to the bottom. If user goes over or hits it
movelist.innerHTML += '<div class ="newData">hey look at me</div>';
}
}
div.onscroll = yHandler;
函数yHandler(){
var movelist=document.getElementById('movelist');
//将div转换为对象
var contentHeight=movelist.offsetHeight;
//获取页面内容高度,这样您就可以知道需要多少vetical像素高度
//在页面上有
var yOffset=movelist.pageYoffset;
//获取垂直滚动位置,让您知道用户在滚动中的位置
//职位
变量y=yOffset+movelist.innerHeight;
//获取div的内部高度
如果(y>=内容高度){
//如果用户滚动到底部。如果用户浏览或点击
movelist.innerHTML+='嘿,看着我';
}
}
div.onscroll=yHandler;
//正在收听并将在上下滚动div时触发yHandler。您应该替换以下行:
div.onscroll = yHandler;
对于这一个:
$(window).bind("scroll", yHandler);
那会做你想做的事。而不是
div.onscroll = yHandler;
试一试
但是 如果要使用将滚动处理程序设置为
div
,请尝试以下操作:
/*
* Keep reference of div id=movelist
* out of yHandler method
*/
var movelist = document.getElementById('movelist');
function yHandler() {
var contentHeight = movelist.offsetHeight;
var yOffset = movelist.pageYoffset;
var y = yOffset + movelist.innerHeight;
if (y >= contentHeight) {
movelist.innerHTML += '<div class ="newData">hey look at me</div>';
}
}
// handler to div with id=movelist
movelist.onscroll = yHandler;
/*
*保留div id=movelist的引用
*非伊汉德勒方法
*/
var movelist=document.getElementById('movelist');
函数yHandler(){
var contentHeight=movelist.offsetHeight;
var yOffset=movelist.pageYoffset;
变量y=yOffset+movelist.innerHeight;
如果(y>=内容高度){
movelist.innerHTML+='嘿,看着我';
}
}
//id为movelist的div处理程序
movelist.onscroll=yHandler;
更新您的代码
var movelist=document.getElementById('movelist');
函数yHandler(){
var contentHeight=movelist.scrollHeight;
var yOffset=movelist.clientHeight;
变量y=yOffset+movelist.scrollTop;
如果(y>=内容高度){
movelist.innerHTML+='嘿,看着我';
}
}
movelist.onscroll=yHandler;
谢谢,但是当我滚动到底部时,工作示例没有加载内容@thecodeparadox@Octavius您好,我对您的代码做了一些更改并进行了更新。请参阅我的更新和工作示例
/*
* Keep reference of div id=movelist
* out of yHandler method
*/
var movelist = document.getElementById('movelist');
function yHandler() {
var contentHeight = movelist.offsetHeight;
var yOffset = movelist.pageYoffset;
var y = yOffset + movelist.innerHeight;
if (y >= contentHeight) {
movelist.innerHTML += '<div class ="newData">hey look at me</div>';
}
}
// handler to div with id=movelist
movelist.onscroll = yHandler;
var movelist = document.getElementById('movelist');
function yHandler() {
var contentHeight = movelist.scrollHeight;
var yOffset = movelist.clientHeight;
var y = yOffset + movelist.scrollTop;
if (y >= contentHeight) {
movelist.innerHTML += '<div class ="newData">hey look at me</div>';
}
}
movelist.onscroll = yHandler;