php+ajax实现商品对比功能示例

本文实例讲述了php+ajax实现商品对比功能。分享给大家供大家参考,具体如下:

商品对比调用的JS文件(包含了商品对比框浮动JS):

/*浮动窗口*/
(function(){
 var n=10;
 var obj=document.getElementById("goods-compare");
 if(!obj){
  return false;
 }
 var x=0;
 window.onscroll=function(){
  obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px';
 };
 window.onresize=function(){
  obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px';
 };
})();
//添加显示对比框
function addcompare(chk){
 $('#goods-compare').fadeIn().show();
 var count=$(".compare-box li").length;
 if (count>2)//这里可以修改对比的数据哦
 {
  alert('产品比较最多选3种哦');
  return;
 }
 $.ajax({
  type: 'post',
  url: 'ajax.php',
  data: {
   'action':'1',
   'gid':chk.gid,//商品ID
   'gname':chk.gname,//商品名称
   'gtype':chk.gtype//商品类别,类别不同时不能比较
  },
  cache: false,
  async: false,
  success: function(result) {
   if(result!='')
   {
    alert(result);
   }else{
    var url='http://www.lusen.com/product-'+chk.gid+'.html';//设置商品的链接地址
    $(".compare-box").append("
  • 删除
  • ") $("#comids").val($(".compare-box li").map(function(){//将对比的所有商品ID,赋值给#comids return $(this).attr('id'); }).get().join(",")); } } }); } //删除对比产品 function removecompare(id) { $.ajax({ type: 'post', url: 'ajax.php', data: { 'action':'2', 'gid':id }, cache: false, success: function(result) { $("#"+id).remove(); $("#comids").val($(".compare-box li").map(function(){ return $(this).attr('id'); }).get().join(",")); } }); } //清空对比产品 function clearcompare() { $.ajax({ type: 'post', url: 'ajax.php', data: { 'action':'3' }, cache: false, success: function(result) { $(".compare-box").html(''); $("#comids").val(''); } }); } //显示对比框 function showcompare() { $.ajax({ type: 'post', url: 'ajax.php', data: { 'action':'4' }, success: function(result) { if(result){ $(".compare-box").append(result); $("#comids").val($(".compare-box li").map(function(){ return $(this).attr('id'); }).get().join(",")); $('#goods-compare').fadeIn().show(); } } }); } //点击关闭对比框 $('.close-gc').click(function(){ $('#goods-compare').fadeOut().hide(); });

    商品对比调用Ajax文件:

    2) {//商品比较数量
       echo "商品比较最多选3种";
       return;
      }
      foreach($arr as $val) {
       if($val[0]==$_POST['gid']) {
        echo "该商品已经加入对比框";
        return;
       }
      }
      $info=array($_POST['gid'],$_POST['gname'],$_POST['gtype']);
      $arr[]=$info;
      $arr_str=serialize($arr);
      setcookie('gid',$arr_str);
     }else {
      $info=array($_POST['gid'],$_POST['gname'],$_POST['gtype']);
      $arr[]=$info;
      $arr_str=serialize($arr);
      setcookie('gid',$arr_str);
     }
    }else if($_POST['action']=='2') {//delone
     $id=$_POST['gid'];
     $arr_str = $_COOKIE['gid'];
     $arr=mb_unserialize($arr_str);
     foreach($arr as $key=>$val) {
      if($val[0]==$id) {
       unset ($arr[$key]);
      }
     }
     $arr_str=serialize($arr);
     setcookie('gid',$arr_str);
    }else if($_POST['action']=='3') {//delall
     setcookie('gid','');
     setcookie('gtype','');
    }else if($_POST['action']=='4') {//showlist
     if(isset($_COOKIE['gid'])) {
      $data='';
      $arr_str = $_COOKIE['gid'];
      $arr=mb_unserialize($arr_str);
      foreach ($arr as $val){
       $url="http://www.lusen.com/product-".$val[0].".html";
       $data.="
  • 删除
  • "; } echo $data; } } ?>

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+ajax技巧与应用小结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    你可能感兴趣的:(php+ajax实现商品对比功能示例)