首页 新闻 搜索 专区 学院

现在默认加载10个了,下拉加载更多怎么弄?求救!!!

0
悬赏园豆:20 [待解决问题]

<%@ include file="/common/taglibs.jsp"%>
<head>
<title></title>
</head>

<body>
<div class="mod" style="width:400px">
<form id="workListForm" name="workListForm" method="post" >
<div class="work-list" id="listDiv">
<c:choose>
<c:when test="${not empty workList}">
<ul class="listview" id="listUl">
<%--ajaxLoad file="/work/include/csAddressItem.jsp" --%>
<%@ include file="include/workItem.jsp" %>
</ul>
</c:when>
<c:otherwise>
<div class="tips">
<fmt:message key="workList.noworks" />
</div>
</c:otherwise>
</c:choose>

<div id="loadHtml" style="display:none"></div>
<div class="pages-nav" id="load_more_div" style="display: none;">
<a id="load_more" class="btn-gray load-more" data-ajax="false"><fmt:message key="work.loadNextInformation" /></a>
</div>
</div>
</form>
</div>
</br>


<div style="display: none;">
<input type="hidden" id="pageNo" name="pageNo" value="${sc.pageNo - 1}" >
<input type="hidden" id="totalPageCount" name="totalPageCount" value="${sc.totalPageCount}">
</div>

<c:set var="probizJs_account" value="true" scope="request"/>


<script>
var __PAGENO = 0;
$j(document).ready(function() {
__FMTExtend = {
no_more:"<i18n:msg key="common.message.noMore"/>"
};
$j.extend(__FMT, __FMTExtend);

$j("#load_more").unbind();
<c:if test="${not empty workList}">
$j("#load_more").bind("click", loadMore);
//loadMore();
</c:if>
});

function loadMore() {
$j("#load_more").hide();
cs.loadMore.showWaitMessage();
$j("#load_more_div").show();

var prmPageNo = __PAGENO + 1;
var totalPage = parseInt($j("#totalPageCount").val());

if (prmPageNo <= totalPage) {
var paramData = {"PrmPageNo":prmPageNo,"doAction":"loadMore","decorator":"blank"};
//$j('#loadHtml').loading().load(cs.val.addressList, paramData, loadMoreCallBack);
$j.ajax({
type: "POST",
url: __ctxPath+"/work/workList/blank.html",
data: paramData,
success: function(data) {
}
}).done(function(msg){
loadMoreCallBack(msg);
});

__PAGENO = prmPageNo;
$j('#pageNo').val(prmPageNo);
} else {
cs.loadMore.clearWaitMessage();
$j("#load_more").unbind();
if (totalPage == 1) {
$j("#load_more_div").hide();
} else {
$j("#load_more").html(__FMT.no_more).show();
}
}
}

function loadMoreCallBack(responseText) {
$j('#listUl').append(responseText);
cs.loadMore.clearWaitMessage();

var prmPageNo = __PAGENO;
var totalPage = parseInt($j("#totalPageCount").val());
if (prmPageNo < totalPage) {
$j("#load_more").show();
} else {
$j("#load_more").unbind();
if (totalPage == 1) {
$j("#load_more_div").hide();
} else {
$j("#load_more").html(__FMT.no_more).show();
}
}
}
</script>
<script type="text/javascript">
highlightTableRows("workItem");
</script>
</body>

问题补充:

这个是参考方法。应该怎么弄。求指教!!!!!!!!!!

var isLoadDataWithScroll = true; // 否可以加载过数据,true表示为可,反则不执行。
$j(document).ready(function(){
__FMTExtend = {
no_more:"<i18n:msg key="common.message.noMore"/>"
};
$j.extend(__FMT, __FMTExtend);

// 给浏览器窗口绑定 scroll 事件
$j("#contentRt").bind("scroll",function(){
nScrollTop = $j(document).scrollTop();
scrollHeight = $j(document).height();
clientHeight = $j(this).height();

//火狐跟google下,解决黑幕不够长的问题。
if((parseInt($j('.ui-dialog-overlay').css('height'))<scrollHeight)){
$j('.ui-dialog-overlay').css('height',scrollHeight+'px');
}

// 判断窗口的滚动条是否接近页面底部,scrollTop()==0的时候 就是顶端了
//$(document).scrollTop() 获取垂直滚动的距离 即当前滚动的地方的窗口顶端到整个页面顶端的距离
//$(document).height() //是获取整个页面的高度
//$(window).height() //是获取当前 也就是你浏览器所能看到的页面的那部分的高度 这个大小在你缩放浏览器窗口大小时 会改变
//$j("#contentRt")[0].scrollHeight //滚动条需要滚动的高度
//$j("#contentRt")[0].scrollTop //表示滚动条(一个点),即当前的位置

//if( $j(document).scrollTop()>=$j(document).height()-$j(window).height() && isLoadDataWithScroll )
if( $j("#contentRt").height()+ $j("#contentRt")[0].scrollTop >= $j("#contentRt")[0].scrollHeight && isLoadDataWithScroll ) {
// Ajax 翻页
autoLoadDataScroll();
}
});

});

}

//加载翻页后的数据
function autoLoadDataScroll(){
var total = parseInt($j("#totalPageCount").val());
if(pageNo < total){
var key = $j.trim($j("input[name=keywords]").val());
var url;
var paraData;
if(key != "") {
url= __ctxPath+"/food/book.html?storeId=1&type=${type}&keywords="+key;
paraData= {"PrmPageNo":pageNo+1,"loadMore":"1","decorator":"blank", "is_search":"1"};
}else{
url = $j("#path").val();
paraData= {"PrmPageNo":pageNo+1,"loadMore":"1","decorator":"blank"};
}
$j("#loadHtml").show();
$j("#loading").show();
$j('#loadHtml').loading().load(url,paraData,finish);
//$j('#pageNo').val(num);
pageNo ++;
//$j("#load_more_div").show();
isLoadDataWithScroll = true;
} else {
$j("#loading").hide();
$j("#load_more").unbind();
$j("#load_more").html(__FMT.no_more).show();
isLoadDataWithScroll = false;
}
// 隐藏正在加载模块
$j("#loadHtml").loading().hide();

}
//加载主要内容列表数据
function autoLoadData(path,obj){
var paraData= {"PrmPageNo":1,"loadMore":"1","decorator":"blank","isFirst":"Y"};
$j('#load').loading().load(path,paraData,function(response){
var res=response.split("<!--列表 -->");
$j('#load').html(res[0]);
$j('#divShowMask').html(res[1]);
pageNo=1;
isLoadDataWithScroll = true;
$j("input[name=keywords]").val("");
$j(".menu li a").removeClass("curr");
$j(obj).addClass("curr");
});

lrz8169的主页 lrz8169 | 初学一级 | 园豆:23
提问于:2015-01-30 16:07
< >
分享
所有回答(1)
0

下拉的时候请求一个方法。类似分页的方法。

public   Jsonresualt  getmore(int p=1)

{

P++;
下面是你查询第几页的 方法!每次请求的时候都把p传进来即可。

 

贫民窟大侠 | 园豆:4272 (老鸟四级) | 2015-02-02 16:01

在上述代码里,应该怎么添加

支持(0) 反对(0) lrz8169 | 园豆:23 (初学一级) | 2015-02-02 16:09

@lrz8169: 

paraData= {"PrmPageNo":pageNo+1,"loadMore":"1","decorator":"blank", "is_search":"1"};
其实你这行里面已经添加了翻页所需要的页码。故问题应该出现在pageNo你的这个值没有被新的页码替换。你可以在下拉事件里弹出这个看看。肯定只起作用了一次。

支持(0) 反对(0) 贫民窟大侠 | 园豆:4272 (老鸟四级) | 2015-02-02 17:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册