Jquery 滚动事件处理,如Twitter和Facebook
我一直在尝试将scroll事件绑定到页面上的一个元素,并在滚动页面上加载更多类似Twitter或Facebook的内容 HTML JS代码Jquery 滚动事件处理,如Twitter和Facebook,jquery,html,css,scroll,jquery-events,Jquery,Html,Css,Scroll,Jquery Events,我一直在尝试将scroll事件绑定到页面上的一个元素,并在滚动页面上加载更多类似Twitter或Facebook的内容 HTML JS代码 $('#事件列表')。滚动(函数(){ var curScroll=$(this)[0]。scrollTop, maxScroll=$(此)[0]。scrollHeight-$(此).height(); log(curScroll,,:,,maxScroll); 如果((光标>=maxScroll-200)&&!正在加载){ 加载=真; $(这)[0].sc
$('#事件列表')。滚动(函数(){
var curScroll=$(this)[0]。scrollTop,
maxScroll=$(此)[0]。scrollHeight-$(此).height();
log(curScroll,,:,,maxScroll);
如果((光标>=maxScroll-200)&&!正在加载){
加载=真;
$(这)[0].scrollTop=curScroll;
$('.loading').fadeIn('fast');
如果(第页)参见
scroll事件仅在window、frame、iframe等元素以及溢出的元素上触发:(scroll | auto)
,其内容必须大于可用的宽度/高度。因此,我建议您添加
#event-list {
overflow: auto;
}
如果您想监听用户何时滚动到特定元素,则应监听窗口的滚动事件,然后检查滚动坐标
$(window).scroll(function() { /** ... **/ });
看
scroll事件仅在window、frame、iframe等元素以及溢出的元素上触发:(scroll | auto),其内容必须大于可用的宽度/高度。因此,我建议您添加
#event-list {
overflow: auto;
}
如果您想监听用户何时滚动到特定元素,则应监听窗口的滚动事件,然后检查滚动坐标
$(window).scroll(function() { /** ... **/ });
下面是一个工作示例,我相信您需要滚动事件触发。通过设置“overflow:scroll”,将div用作可滚动区域。注意:只有当列表在初始加载时足够长时,才会获得滚动事件。(请参阅主内容上的height属性。我将让您自行加载ajax。) CSS 剧本
$(document).ready(function() {
$('#main-content').scroll(function() {
var curScroll = $(this)[0].scrollTop,
maxScroll = $(this)[0].scrollHeight - $(this).height();
console.log(curScroll, ' :: ', maxScroll);
if ((curScroll >= maxScroll - 200) && !loading) {
loading = true;
$(this)[0].scrollTop = curScroll;
$('.loading').fadeIn('fast');
if (page <= $('.page').length) {
loadMore();
}
}
});
});
$(文档).ready(函数(){
$(“#主要内容”)。滚动(函数(){
var curScroll=$(this)[0]。scrollTop,
maxScroll=$(此)[0]。scrollHeight-$(此).height();
log(curScroll,,:,,maxScroll);
如果((光标>=maxScroll-200)&&!正在加载){
加载=真;
$(这)[0].scrollTop=curScroll;
$('.loading').fadeIn('fast');
if(page这里有一个工作示例,我相信您需要滚动事件触发。通过设置“overflow:scroll”,将div用作可滚动区域。注意:只有当列表在初始加载时足够长时,才会获得滚动事件。(请参阅主内容上的height属性。我将让您自行加载ajax。)
CSS
剧本
$(document).ready(function() {
$('#main-content').scroll(function() {
var curScroll = $(this)[0].scrollTop,
maxScroll = $(this)[0].scrollHeight - $(this).height();
console.log(curScroll, ' :: ', maxScroll);
if ((curScroll >= maxScroll - 200) && !loading) {
loading = true;
$(this)[0].scrollTop = curScroll;
$('.loading').fadeIn('fast');
if (page <= $('.page').length) {
loadMore();
}
}
});
});
$(文档).ready(函数(){
$(“#主要内容”)。滚动(函数(){
var curScroll=$(this)[0]。scrollTop,
maxScroll=$(此)[0]。scrollHeight-$(此).height();
log(curScroll,,:,,maxScroll);
如果((光标>=maxScroll-200)&&!正在加载){
加载=真;
$(这)[0].scrollTop=curScroll;
$('.loading').fadeIn('fast');
如果(第页),当您设置身体的css属性时
body {height: 100%;overflow: auto;} // or visible
Now, $(window).scroll(); will not work.
它将导致jquery scroll事件不工作,因为dom不可滚动。因此,您必须删除溢出属性或将其设置为滚动。当您设置正文的css属性时,如
body {height: 100%;overflow: auto;} // or visible
Now, $(window).scroll(); will not work.
它将导致jquery scroll事件无法工作,因为dom不可滚动。因此必须删除溢出属性或将其设置为滚动。是否将JS代码放入$(function(){/**here**/})中?如果没有,那么代码执行时元素还没有加载,因此事件没有绑定。我还刚刚读到,在window、frame、iframe和具有溢出的元素上触发了滚动:scroll。所以我想你应该添加溢出:滚动到#事件列表你把JS代码放在$(function(){/**here**/})中了吗?如果没有,那么代码执行时元素还没有加载,因此事件没有绑定。我还刚刚读到,在window、frame、iframe和具有溢出的元素上触发了滚动:scroll。所以我想你应该添加溢出:scroll to#event list如果你想查看,这里有一个工作fiddle示例:这是工作fiddl例如,如果您想查看:
body {height: 100%;overflow: auto;} // or visible
Now, $(window).scroll(); will not work.