php商品對(duì)比功能代碼分享
下面是自己親自動(dòng)手編寫的代碼,和大家一起學(xué)習(xí)研究。
商品對(duì)比調(diào)用的JS文件(包含了商品對(duì)比框浮動(dòng)JS):
/*浮動(dòng)窗口*/ (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'; }; })(); //添加顯示對(duì)比框 function addcompare(chk){ $('#goods-compare').fadeIn().show(); var count=$(".compare-box li").length; if (count>2)//這里可以修改對(duì)比的數(shù)據(jù)哦 { alert('產(chǎn)品比較最多選3種哦'); return; } $.ajax({ type: 'post', url: 'ajax.php', data: { 'action':'1', 'gid':chk.gid,//商品ID 'gname':chk.gname,//商品名稱 'gtype':chk.gtype//商品類別,類別不同時(shí)不能比較 }, cache: false, async: false, success: function(result) { if(result!='') { alert(result); }else{ var url='http://www.lusen.com/product-'+chk.gid+'.html';//設(shè)置商品的鏈接地址 $(".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(){//將對(duì)比的所有商品ID,賦值給#comids return $(this).attr('id'); }).get().join(",")); } } }); } //刪除對(duì)比產(chǎn)品 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(",")); } }); } //清空對(duì)比產(chǎn)品 function clearcompare() { $.ajax({ type: 'post', url: 'ajax.php', data: { 'action':'3' }, cache: false, success: function(result) { $(".compare-box").html(''); $("#comids").val(''); } }); } //顯示對(duì)比框 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(); } } }); } //點(diǎn)擊關(guān)閉對(duì)比框 $('.close-gc').click(function(){ $('#goods-compare').fadeOut().hide(); });
商品對(duì)比調(diào)用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 '對(duì)不起,您選擇的是不同類別的產(chǎn)品無法加入對(duì)比,請(qǐng)選擇同類產(chǎn)品或清空當(dāng)前對(duì)比欄再選擇。'; return; } }else { setcookie('gtype',$_POST['gtype']); } if(isset($_COOKIE['gid'])) { $arr_str = $_COOKIE['gid']; $arr=mb_unserialize($arr_str); if(count($arr)>2) {//商品比較數(shù)量 echo "商品比較最多選3種"; return; } foreach($arr as $val) { if($val[0]==$_POST['gid']) { echo "該商品已經(jīng)加入對(duì)比框"; 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; } } ?>
以上就是商品對(duì)比功能實(shí)現(xiàn)代碼,希望大家可以仔細(xì)研究,有好的想法大家一起探討。
- jquery實(shí)現(xiàn)商品拖動(dòng)選擇效果代碼(自寫)
- python抓取京東價(jià)格分析京東商品價(jià)格走勢(shì)
- 類似天貓商品詳情隨瀏覽器移動(dòng)的示例代碼
- python模擬登陸阿里媽媽生成商品推廣鏈接
- php版淘寶網(wǎng)查詢商品接口代碼示例
- jQuery 浮動(dòng)導(dǎo)航菜單適合購(gòu)物商品類型的網(wǎng)站
- PHP實(shí)現(xiàn)采集抓取淘寶網(wǎng)單個(gè)商品信息
- JQuery實(shí)現(xiàn)的購(gòu)物車功能(可以減少或者添加商品并自動(dòng)計(jì)算價(jià)格)
- 利用Python的Flask框架來構(gòu)建一個(gè)簡(jiǎn)單的數(shù)字商品支付解決方案
- javascript實(shí)現(xiàn)點(diǎn)擊商品列表checkbox實(shí)時(shí)統(tǒng)計(jì)金額的方法
- php實(shí)現(xiàn)的簡(jiǎn)單美國(guó)商品稅計(jì)算函數(shù)
- python根據(jù)京東商品url獲取產(chǎn)品價(jià)格
相關(guān)文章
php數(shù)組函數(shù)序列之a(chǎn)rray_unshift() 在數(shù)組開頭插入一個(gè)或多個(gè)元素
array_unshift() 函數(shù)在數(shù)組開頭插入一個(gè)或多個(gè)元素。被加上的元素作為一個(gè)整體添加,這些元素在數(shù)組中的順序和在參數(shù)中的順序一樣2011-11-11ThinkPHP自動(dòng)驗(yàn)證失敗的解決方法
引用ThinkPHP2.0開發(fā)手冊(cè):ThinkPHP手冊(cè)類型檢查只是針對(duì)數(shù)據(jù)庫(kù)級(jí)別的驗(yàn)證,所以系統(tǒng)還內(nèi)置了數(shù)據(jù)對(duì)象的自動(dòng)驗(yàn)證功能來完成模型的業(yè)務(wù)規(guī)則驗(yàn)證,而大多數(shù)情況下面,數(shù)據(jù)對(duì)象是由表單提交的$_POST數(shù)據(jù)創(chuàng)建。2011-06-06PHP和Selenium搭建高效網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)技術(shù)探索
隨著信息時(shí)代的到來,網(wǎng)站被認(rèn)為是獲取信息的主要途徑之一,但是,手動(dòng)獲取網(wǎng)站上的信息是非常繁瑣的,因此出現(xiàn)了自動(dòng)抓取網(wǎng)頁(yè)的方式——網(wǎng)絡(luò)爬蟲,這篇文章將介紹如何使用PHP和Selenium搭建一個(gè)高效的網(wǎng)絡(luò)爬蟲來自動(dòng)收集信息2024-01-01php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列應(yīng)用示例
這篇文章主要介紹了php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列,結(jié)合具體實(shí)例形式分析了PHP基于redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列的具體原理、應(yīng)用場(chǎng)景及相關(guān)操作技巧,需要的朋友可以參考下2020-02-02PHP和JAVA中的重載(overload)和覆蓋(override) 介紹
PHP不支持方法和操作符重載。JAVA不支持操作符的重載(但是“+”實(shí)際上是一種操作符重載)2012-03-03PHP連接sql server 2005環(huán)境配置及問題解決
這篇文章主要介紹了PHP連接sql server 2005環(huán)境配置及問題解決,需要的朋友可以參考下2014-08-08PHP中使用foreach()遍歷二維數(shù)組的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄狿HP中使用foreach()遍歷二維數(shù)組的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06