未经允许,不可转载!!
功能描述:做的是一个券商品专区展示,包括商品的异步加载+页面搜索功能!
PHP:
function tickets(){
$keywords = I('keywords');
$str = "";
$where = " 1=1 ";
if($keywords){
$arr = explode(" ", $keywords);
$lenth = count($arr);
if($lenth>1){
foreach ($arr as $key => $value) {
$str .= "%$value";
}
$str = $str."%";
}else{
$str = "%".$arr[0]."%";
}
}
$where = ($str) ? "(good_name like '$str' or keywords like '$str')" : "";
$ticket = $this->model->table("ticket")->where($where)->limit("10")->select();
$num = $this->model->table("ticket")->count();
if(AJAX){
$code = I("code");
$p = I('p');
if($code == 1||$code == ""){
}else{
$l = (10+($p-1)*20);
$m = 20;
$limit = "$l,$m";
$keywords = I('keywords');
$str = "";
$rule = '1=1';
if($keywords){
$arr = explode(" ", $keywords);
$lenth = count($arr);
if($lenth>1){
foreach ($arr as $key => $value) {
$str .= "%$value";
}
$str = $str."%";
}else{
$str = "%".$arr[0]."%";
}
}
$where = ($str) ? " (good_name like '$str' or keywords like '$str')" : "";
$ticket = $this->model->table('ticket')->where($where)->limit($limit)->select();
foreach ($ticket as $key => $value) {
$value['url'] = $value[$this->select_url()];
$value['after_tic_price'] = ($value['goods_price']-$value['free_price'])*1;
if($value['ticket_price'] == 0.00){
$value['coupons_info'] = "无条件使用券";
}else{
$value['coupons_info'] = "满".$value['ticket_price']."减".$value['free_price'];
}
$ticket[$key] = $value;
}
die(json_encode(array('status'=>1,'data'=>$ticket,'info'=>$p)));
}
}
foreach ($ticket as $key => $value) {
$value['url'] = $value[$this->select_url()];
$value['after_tic_price'] = ($value['goods_price']-$value['free_price'])*1;
if($value['ticket_price'] == 0.00){
$value['coupons_info'] = "无条件使用券";
}else{
$value['coupons_info'] = "满".$value['ticket_price']."减".$value['free_price'];
}
$ticket[$key] = $value;
}
$this->assign('num',$num);
$this->assign('keywords',$keywords);
$this->assign('ticket',$ticket);
$this->display('ticket.dwt');
}
前台JS:
<script type="text/javascript">
$(function(){
var page=1;//当前页
var pages=20;//总页数
var ajax=!1;//是否加载中
$("#enveuse-btn").on("click",function(){
if(!ajax && pages > page){
$('.load').show();
page++;//当前页增加1
ajax=!0;//注明开始ajax加载中
$.ajax({
url : 'index.php?m=default&c=activity&a=tickets',
dataType :'json',
data : 'code=2&p='+page+'&keywords='+$(".insert").val(),
type : 'GET',
success : function(msg){
var html = '';
if(msg.status == 1){
if(msg.data.length == 0){
$(".load").html("暂无更多优惠券!");
}else{
$.each(msg.data,function(i,v){
html += '<div class="boxitem"><div class="coupons-wrap"><a href="'+v.url+'"><div class="coupons-container" mx-click="getCoupons()"><span class="coupons-price"><strong>¥</strong>'+v.free_price+'</span><span class="coupons-info">'+v.coupons_info+'</span><span class="coupons-info">发行:'+v.shop_name+'</span><span class="coupons-btn">立即领券</span><span class="coupons-btn coupons-btnword">'+v.goods_source+'</span></div></a></div><div class="item-wrap"><a href="'+v.url+'"><div class="pic"><div class="picimg"><img src="'+v.img_url+'"></div></div><div class="item-content"><div class="title"><span>'+v.good_name+'</span></div><div class="tags"><!-- <span class="tmallTag tag"><img src="//gw.alicdn.com/tps/TB10U2vKFXXXXa3XXXXXXXXXXXX-36-36.png" alt=""> </span> --><span class="byTag tag">包邮</span><span class="dealNum">'+v.sales_num+'笔成交</span></div><div class="price-origin"><span class="origin">现价:¥'+v.goods_price+'</span></div><div class="discount"><img class="img-tag" src="./themes/taobao/json/quanhou.png"> <span class="sale"><em>¥</em>'+v.after_tic_price+'</span></div></div></a><h4 class="link"><a href="'+v.url+'" class="check_detail">查看详情</a></h4></div></div><div class="lineimg"></div>';
});
}
$(".load").fadeOut(400);
ajax=!1;//注明已经完成ajax加载
$('.other').append(html);
}else{
$(".load").html("暂无更多优惠券!");
ajax=!1;//注明已经完成ajax加载
}
},
error: function(xhr, type){
$(".load").html("暂无更多优惠券!");
}
});
}else{}
});
$(".btn").on("click",function(){
var val = $(".insert").val();
if(val == ''){
$(".errortxt").text("~!请输入搜索商品标题喔~").show();
var time = setInterval(hidetool,1800);
return false;
}else{
}
});
function hidetool(){
$(".errortxt").fadeOut();
}
})
</script>
搜索表单:
<form method="GET" action="index.php?m=default&XXXXXXXXXXa=tickets" class="form">
<input type="text" class="insert" placeholder="请输入商品标题" name="keywords" value="鞋子">
<input type="submit" class="btn">
<i class="errortxt">请输入商品标题</i>
<input type="hidden" name="m" value="default">
<input type="hidden" name="c" value="activity">
<input type="hidden" name="a" value="tickets">
</form>
欢迎各位道友指正、交流!!