php商品对比功能代码分享_php技巧

下面是自己亲自动手编写的代码,和大家一起学习研究。

商品对比调用的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("<li class='division clearfix' id='"+chk.gid+"'><div class='span-3'><a href='"+url+"' target='_blank' title='"+chk.gname+"'>'"+chk.gname+"'</a></div><span onclick=\"removecompare('"+chk.gid+"');\">删除</span></li>")
        $("#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文件

<?php
function mb_unserialize($serial_str) {
  $serial_str =stripslashes($serial_str);
  return unserialize($serial_str);
}
if($_POST['action']=='1') {//add
  if(isset($_COOKIE['gtype'])) {
    if($_COOKIE['gtype']!=$_POST['gtype']) {
      echo '对不起,您选择的是不同类别的产品无法加入对比,请选择同类产品或清空当前对比栏再选择。';
      return;
    }
  }else {
    setcookie('gtype',$_POST['gtype']);
  }
  if(isset($_COOKIE['gid'])) {
    $arr_str = $_COOKIE['gid'];
    $arr=mb_unserialize($arr_str);
    if(count($arr)>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.="<li id='{$val[0]}' class='division clearfix'><div class='span-3'><a href='{$url}' target='_blank' title='{$val[1]}'>{$val[1]}</a></div><span onclick=\"removecompare('{$val[0]}');\">删除</span></li>";
    }
    echo $data;
  }
}
?> 

以上就是商品对比功能实现代码,希望大家可以仔细研究,有好的想法大家一起探讨。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php产品对比功能
, 商品对比功能
, php商品收藏功能
php商品筛选功能
京东商品对比功能、商品对比功能、ecshop中商品分享功能、jquery 商品对比功能、商品期货操作技巧,以便于您获取更多的相关知识。

时间: 2024-08-04 07:58:14

php商品对比功能代码分享_php技巧的相关文章

基于JS组件实现拖动滑块验证功能(代码分享)_javascript技巧

拖动滑块验证功能在支付宝,微信各大平台都能见到这样的功能,那么基于js组件是如何实现此功能的呢?今天小编就给大家分享下js 拖动滑块 验证功能的实现代码,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Cache-Control" content="no-cache, no-store, m

PHP版QQ互联OAuth示例代码分享_php技巧

由于国内QQ用户的普遍性,所以现在各大网站都尽可能的提供QQ登陆口,下面我们来看看php版,给大家参考下 /** * QQ互联 oauth * @author dyllen * */ class Oauth { //取Authorization Code Url const PC_CODE_URL = 'https://graph.qq.com/oauth2.0/authorize'; //取Access Token Url const PC_ACCESS_TOKEN_URL = 'https:

php处理单文件、多文件上传代码分享_php技巧

php处理  单文件.多文件上传实例代码,供大家参考,具体内容如下  后台处理文件submit_form_process.php  <?php /****************************************************************************** 参数说明: $max_file_size : 上传文件大小限制, 单位BYTE $destination_folder : 上传文件路径 $watermark : 是否附加水印(1为加水印,其他为

php实现文件下载代码分享_php技巧

简单的文件下载只需要使用HTML的连接标记<a>,并将属性href的URL值指定为下载的文件即可.所示: <a href="http://www.jb51.net/download/book.rar">下载文件</a> 如果通过上面的代码实现文件下载,只能处理一些浏览器不能默认识别的MIME类型文件,例如当访问book.rar文件时,浏览器并没有直接打开,而是弹出一个下载提示框,提示用户"下载"还是"打开"等处

手机开发必备技巧:javascript及CSS功能代码分享_javascript技巧

1. viewport: 也就是可视区域.对于桌面浏览器,我们都很清楚viewport是什么,就是出去了所有工具栏.状态栏.滚动条等等之后用于看网页的区域, 这是真正有效的区域.由于移动设备屏幕宽度不同于传统web,因此我们需要改变viewport; 实际上我们可以操作的属性有4 个: 复制代码 代码如下: width -             //  viewport 的宽度 (范围从200 到10,000,默认为980 像素) height -            //  viewpor

Php图像处理类代码分享_php技巧

目前只实现了三个功能:1:图片缩放,2:图片裁剪,3:加图片水印 在实例化中,通过给第二个参数传不同的值,从而实现不同的功能 复制代码 代码如下: <?php include "image.class.php"; $image=new image("2.png", 1, "300", "500", "5.png"); //使用图片缩放功能 $image=new image("2.png&qu

PHP curl 并发最佳实践代码分享_php技巧

本文将探讨两种具体的实现方法, 并对不同的方法做简单的性能对比. 1. 经典cURL并发机制及其存在的问题 经典的cURL实现机制在网上很容易找到, 比如参考PHP在线手册的如下实现方式: 复制代码 代码如下: function classic_curl($urls, $delay) { $queue = curl_multi_init(); $map = array(); foreach ($urls as $url) { // create cURL resources $ch = curl

基于GD2图形库的PHP生成图片缩略图类代码分享_php技巧

要使用PHP生成图片缩略图,要保证你的PHP服务器安装了GD2图形库 使用一个类生成图片的缩略图 1.使用方法 $resizeimage = new resizeimage("图片源文件地址", "200", "100", "0","缩略图地址"); //就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高 2. 缩略图类代码 //使用如下类就可以生成图片缩略图

PHP生成网站桌面快捷方式代码分享_php技巧

PHP生成桌面快捷方式就是这么的简单,大家生成的时候改下你要生成的网站即可. dianji.html代码: 复制代码 代码如下: <a href="a.php?url=www.jb51.net&name=">生成左面快捷方式</a> shengcheng.php代码: 复制代码 代码如下: <?php //网站生存左面快捷方式---功能 $url = $_GET['url']; $filename = urldecode($_GET['name']