1.页面有两个选项卡里,其中选项卡一内有瀑布流效果,当使用$(window).scroll()函数加载瀑布流时,若瀑布流未加载玩,切换到选项卡二后,再切换回选项卡一,$(window).scroll()函数不在执行,后面的瀑布流不加载啦
2.下面时代码:
下面的代码的作用:当
//当滚动条下拉时执行
$(window).scroll(function () {
if (isScrollLoad && !$(".scan-more").hasClass("noMore")) {
var scrollTop = $(window).scrollTop();
var offsetHeight = document.body.scrollHeight;
var clientHeight = window.screen.availHeight;
if (scrollTop >= offsetHeight - clientHeight - 100) {
options.jsonData.pageIndex = loadNum;
parentNode.flow(options.type, options.url, options.jsonData, load);//调用加载瀑布流的函数
loadNum++;
$(window).scrollTop(scrollTop);
}
}
if (loadNum == 4) {//只能滚动加载两次
$(".scan-more").removeClass("h");
isScrollLoad = false;
//loadNum++;
} else if (isScrollLoad && loadNum > 4) {
ss();
}
});
/*
Ajax加载事件
type【加载类型】:1:瀑布流排版,2:瀑布流加载数据,3:普通等高加载数据
options【json,排版时选填,加载数据时必填】
url:加载地址
data:参数
callback:数据加载成功后的回调函数
*/
var allHeight = [];//定义一个数组存储所有列的高度
var getStartNum = 0;//存储开始请求数据条数的位置
//这是加载瀑布流的函数 内容太多,省略了
$.fn.flow = function (type, url, options, callback) {
...........
}
3.当刚进入这个页面时默认进入选项卡一,这时候下拉滚动条,执行$(window).scroll(funcion(){......})内的内容,调用加载瀑布流函数,当瀑布流还未加载完时,这时候切换到选项卡二里面,当再从选项卡二切换回选项卡一时,再下拉滚动条一时,$(window).scoll(function(){......})不再执行了,导致它里面加载瀑布流的函数不再调用啦,后面的瀑布流不再不再加载了。
4.
5.类似上面这样,当我刚进入这个页面,在我的发布,当下拉时,就执行$(window).scroll(function(){})事件,加载后面的瀑布流,如果刚进入这个页面,就点击草稿箱这个选项卡,再切换回我的发布时,$(window).scroll(function(){})就不再执行了