我正在通过Ajax加载结果。我正在使用无限滚动来分页结果。 当新内容加载时,我有一个漂亮的小侧边栏跟随页面。
我现在面临的问题是,漂亮的侧边栏上有字母A-Z。当用户点击其中一个字母时,我需要取消绑定滚动事件 - >从最后一个部分创建占位符,直到下一个请求部分(A-Z) - >加载请求的部分,然后继续重新绑定$(窗口).scroll()。它实际上(或应该工作)与Facebook的时间轴紧密相关。
我不能为我的生活弄清楚当你点击侧边栏时如何取消绑定滚动事件。我已经删除了固定的侧边栏代码和数据检索,因为它在这里没有用处。
一些代码......
// i use this array to figure out which section of data i need next
var letters = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
// get the default set of data to display BEFORE scroll
// -> some code...
// remove letter from array
letters.splice(0, 1);
// scroll
$(window).scroll(function(event){
var doc_height = parseInt($(document).height()),
window_height = parseInt($(window).height()),
scroll_at_height = parseFloat(doc_height - parseFloat(doc_height / 10) - window_height),
scroll_y = $(window).scrollTop();
// check if the scroll height is met and pull next recordset
if (scroll_y >= scroll_at_height) {
// as long as there are still more sections to go [var letters]
if (letters.length > 0) {
// get next set
// -> some code to get the next set of data...
// remove letter from [letters] array
letters.splice(0, 1);
}
}
});
// sidebar nav
$('.letter-picker a').bind('click', function() {
// nothing here works anywho...
return false;
});