您能否告诉我为什么:lt()
无法正常工作。这里是我的代码: https://jsbin.com/refunuyahe/edit?html,js,output为什么:lt()不按预期工作?
我试着只显示100
项目,而当用户滚动它应该显示另外100个项目。
(function() {
'use strict';
$(function() {
var str = '<ul id="myList">';
var x = 100;
var initialData = '';
for (var i = 0; i < 1000; i++) {
str += '<li>' + i + '</li>';
}
str += '</ul>'
// complete data in str;
// load only first 100 element
$('#container').append(str);
$('#myList li:lt(' + x + ')').show();
})
$('#container').on('scroll', function() {
if ($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
x += 100;
$('#myList li:lt(' + x + ')').show();
}
})
})();
这条线为什么不起作用?
$('#myList li:lt(' + x + ')').show();
添加您的html并让我知道 –
[** Demo **](https://jsfiddle.net/tusharj/zyqpr9ya/) – Tushar
'x'不在最后一个事件处理程序的范围内。另外,如果你一次显示100个元素,你的'if'语句将不会执行任何操作,因为你正在选择的'li'已经显示 –