監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢(xún)管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶(hù)案例 | 在線(xiàn)試用
X 關(guān)閉
鷹潭網(wǎng)站建設(shè)公司

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 鷹潭OA > 鷹潭網(wǎng)站建設(shè)公司

ecshop中jQuery沖突解決

申請(qǐng)免費(fèi)試用、咨詢(xún)電話(huà):400-8352-114

鷹潭網(wǎng)站建設(shè)www.diyphp.net

<span style="COLOR: rgb(0,0,0)">首要就是Ecshop的AJAX傳輸類(lèi),transport.js 中重寫(xiě)了object的對(duì)象原型,然后招致了與jq框架的抵觸。

<span style="COLOR: rgb(0,0,0)">處理:
1. 刪除transport.js中587行 - 636行中關(guān)于object.prototype.toJSONString的界說(shuō)
2. 自界說(shuō)一個(gè)辦法用于object對(duì)象的json序列化
如下

<span style="CURSOR: pointer" class="copyCodeText" onxxxxx="copyIdText('code_6038')">復(fù)制代碼
  1. function obj2str(o)  
  2. {  
  3.   //開(kāi)端  
  4.       var r = [];  
  5.    if(typeof o =="string") return "\""+o.replace(/([\'\"[url=file://\\])/g,]\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\[/url]"";  
  6.    if(typeof o =="undefined") return "undefined";  
  7.    if(typeof o == "object"){      
  8.     if(o===null) return "null";  
  9.     else if(!o.sort){  
  10.      for(var i in o)  
  11.       {    
  12.       if(i!="toJSONString") //添加判別,肅清對(duì)object原型的界說(shuō)參加到j(luò)son中  
  13.        r.push("\""+i+"\""+":"+obj2str(o));  
  14.       }  
  15.       r="{"+r.join()+"}";  
  16.      }else{  
  17.      for(var i =0;i<o.length;i++)  
  18.        r.push(obj2str(o))  
  19.       r="["+r.join()+"]"  
  20.      }  
  21.     return r;  
  22.     }  
  23.    return o.toString();  
  24.   //完畢     
  25. }   

<span style="COLOR: rgb(0,0,0)">3. 在模板頁(yè)和js劇本中一切關(guān)于 obj.toJSONString()的當(dāng)?shù)兀桓沤粨Q為obj2str(obj)

<span style="COLOR: rgb(0,0,0)">4. 重寫(xiě)好后發(fā)現(xiàn)compare.js, 首要重寫(xiě)個(gè)中的準(zhǔn)時(shí)器 功用。 將以下代碼交換到compare.js中

<span style="CURSOR: pointer" class="copyCodeText" onxxxxx="copyIdText('code_3094')">復(fù)制代碼
  1. var Compare = new Object();  
  2. Compare = {  
  3.    add : function(goodsId, goodsName, type)  
  4.    {  
  5.     var count = 0;  
  6.     for (var k in this.data)  
  7.      {  
  8.       if (typeof(this.data[k]) == "function")  
  9.       continue;  
  10.       if (this.data[k].t != type) {  
  11.          alert(goods_type_different.replace("%s", goodsName));  
  12.         return;  
  13.        }  
  14.        count++;  
  15.      }  
  16.     if (this.data[goodsId])  
  17.      {  
  18.        alert(exist.replace("%s",goodsName));  
  19.       return;  
  20.      }  
  21.     else  
  22.      {  
  23.       this.data[goodsId] = {n:goodsName,t:type};  
  24.      }  
  25.     this.save();  
  26.     this.init();  
  27.    },  
  28.    init : function(){  
  29.     this.data = new Object();  
  30.     var cookieValue = document.getCookie("compareItems");  
  31.     if (cookieValue != null) {  
  32.       this.data = cookieValue.parseJSON();  
  33.      }  
  34.     if (!this.compareBox)  
  35.      {  
  36.       this.compareBox = document.createElement("DIV");  
  37.       var submitBtn = document.createElement("INPUT");  
  38.       this.compareList = document.createElement("UL");  
  39.       this.compareBox.id = "compareBox";  
  40.       this.compareBox.style.display = "none";  
  41.       this.compareBox.style.top = "200px";  
  42.       this.compareBox.align = "center";  
  43.       this.compareList.id = "compareList";  
  44.        submitBtn.type = "button";  
  45.        submitBtn.value = button_compare;  
  46.    this.compareBox.appendChild(this.compareList);  
  47.       this.compareBox.appendChild(submitBtn);  
  48.        submitBtn.onclick = function() {  
  49.         var cookieValue = document.getCookie("compareItems");  
  50.         var obj = cookieValue.parseJSON();  
  51.         var url = document.location.href;  
  52.          url = url.substring(0,url.lastIndexOf('/')+1) + "compare.php";  
  53.         var i = 0;  
  54.         for(var k in obj)  
  55.          {  
  56.           if(typeof(obj[k])=="function")  
  57.           continue;  
  58.           if(i==0)  
  59.              url += "?goods[]=" + k;  
  60.           else  
  61.              url += "&goods[]=" + k;  
  62.            i++;  
  63.          }  
  64.         if(i<2)  
  65.          {  
  66.            alert(compare_no_goods);  
  67.           return ;  
  68.          }  
  69.          document.location.href = url;  
  70.        }  
  71.        document.body.appendChild(this.compareBox);  
  72.      }  
  73.     this.compareList.innerHTML = "";  
  74.     var self = this;  
  75.     for (var key in this.data)  
  76.      {  
  77.       if(typeof(this.data[key]) == "function")  
  78.         continue;  
  79.       var li = document.createElement("LI");  
  80.       var span = document.createElement("SPAN");  
  81.        span.style.overflow = "hidden";  
  82.        span.style.width = "100px";  
  83.        span.style.height = "20px";  
  84.        span.style.display = "block";  
  85.        span.innerHTML = this.data[key].n;  
  86.        li.appendChild(span);  
  87.        li.style.listStyle = "none";  
  88.       var delBtn = document.createElement("IMG");  
  89.        delBtn.src = "themes/default/images/drop.gif";  
  90.        delBtn.className = key;  
  91.        delBtn.onclick = function(){  
  92.          document.getElementById("compareList").removeChild(this.parentNode);  
  93.         delete self.data[this.className];  
  94.          self.save();  
  95.          self.init();  
  96.        }  
  97.        li.insertBefore(delBtn,li.childNodes[0]);  
  98.       this.compareList.appendChild(li);  
  99.      }  
  100.     if (this.compareList.childNodes.length > 0)  
  101.      {  
  102.       this.compareBox.style.display = "";  
  103.       this.timer = window.setInterval("flowdiv('compareBox')", 50);  
  104.      }  
  105.     else  
  106.      {  
  107.       this.compareBox.style.display = "none";  
  108.        window.clearInterval(this.timer);  
  109.       this.timer = 0;  
  110.      }  
  111.    },  
  112.    save : function()  
  113.    {  
  114.     var date = new Date();  
  115.      date.setTime(date.getTime() + 99999999);  
  116.      document.setCookie("compareItems", obj2str(this.data));  
  117.    },  
  118.    lastScrollY : 0  
  119. }  
  120.   
  121. //用于準(zhǔn)時(shí)器的主動(dòng)滾動(dòng)的層  
  122. lastScrollY=0;  
  123. function flowdiv(domid){  
  124.    var diffY;  
  125.      if (document.documentElement && document.documentElement.scrollTop)  
  126.       diffY = document.documentElement.scrollTop;  
  127.     else if (document.body)  
  128.       diffY = document.body.scrollTop  
  129.     else  
  130.       {/*Netscape stuff*/}  
  131.     //alert(diffY);  
  132.     percent=.1*(diffY-lastScrollY);   
  133.     if(percent>0) percent=Math.ceil(percent);   
  134.     else percent=Math.floor(percent);   
  135.      document.getElementById(domid).style.top=parseInt(document.getElementById(domid).style.top)+percent+"px";  
  136.     lastScrollY=lastScrollY+percent;   
  137.     //alert(lastScrollY);  
發(fā)布:2007-03-31 14:57    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
鷹潭OA
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢(xún):400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線(xiàn)咨詢(xún)

泛普鷹潭網(wǎng)站建設(shè)公司其他應(yīng)用

鷹潭軟件開(kāi)發(fā)公司 鷹潭門(mén)禁系統(tǒng) 鷹潭物業(yè)管理軟件 鷹潭倉(cāng)庫(kù)管理軟件 鷹潭餐飲管理軟件 鷹潭網(wǎng)站建設(shè)公司