javascript产品比较代码
2014-08-13来源:易贤网

javascript产品比较代码,通过javascript操作cookie写入对应的的内容。 更改了前一篇的Bug。并且分页保存已选内容。

代码下。(需要jquery框架)

// JavaScript Document

$(function(){

 var show_div = $("<div id='forasp_list'></div>");

 $("body").append(show_div); 

 $("#forasp_list").css({position:"relative",width:"135px",height:"auto",border:"solid thin #000 1px;"}).offset({top:300,left:0}).hide();//创建隐藏的div

 $(window).scroll(function(){move();});

 open_page();

});

function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 

 var Days = 30; //此 cookie 将被保存 30 天 

 var exp  = new Date();    //new Date("December 31, 9998"); 

 exp.setTime(exp.getTime() + Days*24*60*60*1000); 

 document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 

function getCookie(name)//取cookies函数        

 var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 

 if(arr != null) return unescape(arr[2]); return null; 

function delCookie(name)//删除cookie 

 var exp = new Date(); 

 exp.setTime(exp.getTime() - 1); 

 var cval=getCookie(name); 

 if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); 

}

function Add_del(pid,name){

//设置存放ID名称为 "ID"http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E

var ID="ID";

var ID_all = getCookie(ID);

if(ID_all!=null&&ID_all!=""){

 

    var ID_all_a = ID_all.split(",");

    var num =ID_all_a.length;

 var flag =true;

 ID_all="";

 for(var i=0;i<num;i++){

  if(ID_all_a[i]!=pid){

   

   ID_all+=","+ID_all_a[i];

   }else{

   flag=false;

   delCookie(pid);

   }

 }

 if(flag){//执行新的添加

 if(num>3){alert("最多4个比较!");$("#PRO_"+pid).attr("checked",false);return;}

   ID_all=pid+ID_all;

   SetCookie(pid,name);

 }else{//执行的是删除,然后清除最前的,

   if(ID_all!="")ID_all=ID_all.substr(1,ID_all.length-1);

 }

   }else{

 ID_all = pid;

 SetCookie(pid,name);

   }

//首先设置全部ID

SetCookie(ID,ID_all);

show_();

}

///如果需要更新样式请在这里的更新,如果更新div则请在上面的创建div处更新

function show_(){

   var html_="";

   c_str = getCookie("ID");

   $("#forasp_list").html("");

   if(c_str!=""&&c_str!=null){

   t_c_arr = c_str.split(",");

   t_c_num = t_c_arr.length;

   for(var i=0;i<t_c_num;i++){

      html_+=unescape(getCookie(t_c_arr[i]))+"-<a onclick='del_Self("+t_c_arr[i]+")'>删除</a><br>";

    } 

 html_+="<br><input type='button' onclick='compair()' value='比较'> <input type='button' onclick='del_all();' value='清空'> <input type=button onclick='hid();' value='隐藏'>";

   $("#forasp_list").html(html_).show();

   move();

   }else{

    hid();

   }  

}

//http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E 网站制作学习网原创

function open_page(){

   var c_str = getCookie("ID");

   if(c_str!=""&&c_str!=null){

   var t_c_arr = c_str.split(",");

   var t_c_num = t_c_arr.length;

   for(var i=0;i<t_c_num;i++){

      if($("#PRO_"+t_c_arr[i]))$("#PRO_"+t_c_arr[i]).attr("checked",true);

    }

 show_();

   }

}

function hid(){

 $("#forasp_list").hide();

}

function del_Self(pid){

  if($("#PRO_"+pid))$("#PRO_"+pid).attr("checked",false); 

  Add_del(pid,"");

}

function del_all(){

   var c_str = getCookie("ID");

   if(c_str!=""&&c_str!=null){

   t_c_arr = c_str.split(",");

   t_c_num = t_c_arr.length;

   for(var i=0;i<t_c_num;i++){

 if($("#PRO_"+t_c_arr[i]))$("#PRO_"+t_c_arr[i]).attr("checked",false);

    }

   }

   delCookie("ID");

   show_();

}

function move(){//www.forasp.cn原创

 var scrollPos;

if(typeof window.pageYOffset!="undefined")

{scrollPos = window.pageYOffset;

}

else if (typeof document.compatMode != "undefined" && document.compatMode != "BackCompat"){

scrollPos = document.documentElement.scrollTop;

}else if (typeof document.body != "undefined"){

scrollPos = document.body.scrollTop;

}

var obj =$("#forasp_list");

var op = obj.position().top;

obj.offset({"top":300+scrollPos});

//show();

}

//以上为javascript代码,保存为.js文件。运行代码如下:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">

<html>

<head>

<title>工程显示器</title></head>

<script language="javascript" src="/js/jquery-1.4.4.min.js"></script>

<script language="javascript" src="/js/COMPARE.js"></script>

<body>

<!--顶部开始--><div><input name="compairid" type="checkbox" id="PRO_523" onclick="Add_del('523','Vewell 57寸专业显示器 V57-H10L')">对比</div>

<div><input name="compairid" type="checkbox" id="PRO_835" onclick="Add_del('835','三星46寸液晶显示器 460UX-2')">对比</div>

<div class="bi"><input name="compairid" type="checkbox" id="PRO_864" onclick="Add_del('864','Vewell 65寸多媒体广告机 V65-SA4DA')">对比</div>

<div class="bi"><input name="compairid" type="checkbox" id="PRO_865" onclick="Add_del('865','Vewell 52寸多媒体广告机 V52-SA2DA')">对比</div>

</body>

</html>

我的js保存的是COMPARE.js文件。保存路径要正确。 运行看看。

更多信息请查看IT技术专栏

推荐信息