[ECSHOP二次开发]解决分类商品Ajax连续请求导致…
2018-06-22 05:26:16来源:未知 阅读 ()
0x00:
首先声明一个全局变量。
var control = true;
if (control) { $('.get_more').click(); };


这个地方是获取数据的函数以及ajax请求的函数
get_data: function() { var ile; control=false; //首先进来这个函数之后吧全局变量设置成false以防重复请求 lock = true; target.children(".more_loader_spinner").css('display', 'block'); $(settings.trigger).css('display', 'none'); if (typeof(arguments[0]) == 'number') ile = arguments[0]; else { ile = settings.amount; } if(variables.last >= cur_last){ var postdata = settings.data; postdata['last'] = variables.last; postdata['amount'] = ile; $.post(settings.address, postdata, function(data){ $(settings.trigger).css('display', 'block') methods.add_elements(data) control=true; //ajax请求完之后,重新吧全局变量设置回true,方便继续请求下去。 //注意:根据测试这里是要在lock的上面,否则失败,根据目前观察,是因为上面有判断lock==false的条件,所以要吧全局变量放在loca的上面 }, settings.format) cur_last = cur_last+6; } }
0x01以上原理:
<script type="text/javascript">
function dosearch(keyword){
$('#keyword').val(keyword);
getContent = get_next_page(1,<?php echo isset($_GET['cate_id'])?$_GET['cate_id']:'1';?>,1);
}
function select_all(){
get_next_page(1,<?php echo isset($_GET['cate_id'])?$_GET['cate_id']:'1';?>,1);
}
$(function(){
get_next_page(1);
})
var control=true;
$(window).on("scroll",function(){
if($(document).scrollTop()+$(window).height()>=$(document).height()){
if(control){
$(".static-box").html("<p>正在加载...</p>");
$(document).scrollTop($(document).scrollTop()+100);
get_next_page();
}
}
});
get_next_page = function (getpage,get_cate_id,setempty) {
if(get_cate_id){
$('#cate_id').val(get_cate_id)
}
var cate_id = $('#cate_id').val();
var b_id = $('#b_id').val();
var store_id = $('#store_id').val();
var key = $('#key').val();
var order = $('#order').val();
var keyword = $('#keyword').val();
if(getpage){
page = 1;
}else{
var page = parseInt($('.order_page:last').val());
page += 1;
}
var url = 'index.php?act=mall&op=index&cate_id='+cate_id+'&store_id='+store_id+'&b_id='+b_id+'&key='+key+'&order='+order+'&getact=next_page&curpage='+page+'&keyword='+keyword;
control=false;
$.ajax({
type:'GET',
url:url,
data:'',
dataType:'html',
success:function(data){
if(!data || data=="" || data == "clear"){
control=false;
if(data == 'clear'){
$(".minwrap").empty();
}
$(".static-box").html("<p>没有更多数据了...</p>");
setTimeout(function(){
$(".static-box").html("");
},1000)
return false;
}
$(".order_page").remove();
if(setempty == 1){
$(".minwrap").html(data);
$('html, body').animate({scrollTop:0}, 'slow');
}else{
$(".minwrap").append(data);
}
$("img.lazy").show().lazyload({
effect : "fadeIn",
threshold : 200
});
control=true;
}
});
}
</script>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP实现的基于单向链表解决约瑟夫环问题示例 2020-03-17
- PHP empty函数报错解决办法 2020-03-04
- PHP中对于浮点型的数据需要用不同的方法解决 2020-02-21
- zend studio出现乱码如何解决 2020-02-13
- php安装扩展mysqli的实现步骤及报错解决办法 2020-01-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
