关于超级简单实现ecshop系统点击购物弹出漂亮的提示

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家

之前在本论坛中也看到过有朋友发帖。点击“购买之后”弹出一个提示框框。如图:
 


 



我看过了代码之后感觉有点复杂。而且弹出的层实际上是利用样式的“显示”和“隐藏”的属性来做的!而且弹出的位置死板!!
今天我研究了下之后发现了一个很简单的方法来实现这个功能


一:把如下函数代码加入到common.js最末尾
 

 

  1. /* *  
  2. * 点击购物后弹出提示层   
  3. * Chen 2010.7.28  
  4. * 参数 cartinfo:购物车信息   
  5. */function openDiv_chen(cartinfo)   
  6. {  
  7.   var _id = "speDiv";  
  8.   var m = "mask";  
  9.   if (docEle(_id)) document.removeChild(docEle(_id));  
  10.   if (docEle(m)) document.removeChild(docEle(m));  
  11.   //计算上卷元素值  
  12.   var scrollPos;   
  13.   if (typeof window.pageYOffset != 'undefined')   
  14.   {   
  15.     scrollPos = window.pageYOffset;   
  16.   }   
  17.   else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat')   
  18.   {   
  19.     scrollPos = document.documentElement.scrollTop;   
  20.   }   
  21.   else if (typeof document.body != 'undefined')   
  22.   {   
  23.     scrollPos = document.body.scrollTop;   
  24.   }  
  25.  
  26.   var i = 0;  
  27.   var sel_obj = document.getElementsByTagName('select');  
  28.   while (sel_obj[i])  
  29.   {  
  30.     sel_obj[i].style.visibility = "hidden";  
  31.     i++;  
  32.   }  
  33.  
  34.   // 新激活图层  
  35.   var newDiv = document.createElement("div");  
  36.   newDiv.id = _id;  
  37.   newDiv.style.position = "absolute";  
  38.   newDiv.style.zIndex = "10000";  
  39.   newDiv.style.width = "350px";  
  40.   newDiv.style.height = "100px";  
  41.   newDiv.style.top = (parseInt(scrollPos + 400)) + "px";  
  42.   newDiv.style.left = (parseInt(document.body.offsetWidth) - 200) / 2 + "px"; // 屏幕居中  
  43.   newDiv.style.overflow = "auto";   
  44.   newDiv.style.background = "#FFF";  
  45.   newDiv.style.border = "3px solid #59B0FF";  
  46.   newDiv.style.padding = "5px";  
  47.  
  48.   //生成层内内容  
  49.         newDiv.innerHTML = '<h4 style="font-size:14; margin:15 0 0 15;">' + "商品成功放入购物车 
  50.   [<a href='javascript:cancel_div()' class='f6' >" + '关闭' + "</a>]<br><br>"+ cartinfo + "</h4>";  
  51.         newDiv.innerHTML += "<br /><center><a  href='flow.php'>进入购物车</a>  
  52. <a  [<a href='javascript:cancel_div()'>继续购物</a></center>";  
  53.   document.body.appendChild(newDiv);  
  54.  
  55.  
  56.   // mask图层  
  57.   var newMask = document.createElement("div");  
  58.   newMask.id = m;  
  59.   newMask.style.position = "absolute";  
  60.   newMask.style.zIndex = "9999";  
  61.   newMask.style.width = document.body.scrollWidth + "px";  
  62.   newMask.style.height = document.body.scrollHeight + "px";  
  63.   newMask.style.top = "0px";  
  64.   newMask.style.left = "0px";  
  65.   newMask.style.background = "#FFF";  
  66.   newMask.style.filter = "alpha(opacity=30)";  
  67.   newMask.style.opacity = "0.40";  
  68.   document.body.appendChild(newMask);  
  69. }   
  70. /////////////////////////////////////// 

 

这个函数很简单!直接复制中common.js的openSpeDiv()函数做个小修改即可!
二、找到addToCartResponse()函数,common.js大约64行左右。
把里面的switch循环改成如下:
 

 

  1. switch(result.confirm_type)  
  2.       {  
  3.         case '1' :  
  4.           //if (confirm(result.message)) location.href = cart_url;  
  5.           openDiv_chen(result.content)//将购物车信息作为参数传入  
  6.                   break;  
  7.         case '2' :  
  8.           //if (!confirm(result.message)) location.href = cart_url;  
  9.           openDiv_chen(result.content)  
  10.                   break;  
  11.         case '3' :  
  12.           //location.href = cart_url;  
  13.           openDiv_chen(result.content)  
  14.                   break;  
  15.         default :  
  16.           break;  
  17.       }