ECSHOP中transport.js和jquery的冲突的简单解决办法
{insert_scripts files= 'transport.js,utils.js' }
|
transport.js与jquery有冲突。原因不多讲。在网上找到一个最简单解决办法:
成功了,请评论欢呼!!!
如果失败了,请重头再来,肯定哪里操作不对。
一、在 page_header.lbi 库文件中加入如下代码,注意操作顺序:
1、先导入transport.js 文件
{insert_scripts files= 'transport.js,utils.js' }
|
2、然后导入您网站使用的jquery文件:
<script language= "javascript" src= "您的jquery存放路径" ></script>
|
3、加入代码:
<script type= "text/javascript" >
$( function () {
window.__Object_toJSONString = Object.prototype.toJSONString;
delete Object.prototype.toJSONString;
});
</script>
|
注意引用顺序,不能乱!
实例:
比如,我只有ECSHOP首页才会有冲突。所以我直接在 index.dwt 文件中</head>区加入以下代码:
{insert_scripts files= 'transport.js,utils.js' }
<script type= "text/javascript" src= "themes/68ecshop_yixunfree/js/jquery-1.4.2.min.js" ></script>
{insert_scripts files= 'niuzai/jquery-1.8.3.js' }
<script type= "text/javascript" >
$( function () {
window.__Object_toJSONString = Object.prototype.toJSONString;
delete Object.prototype.toJSONString;
});
</script>
|
为了避免影响其它页面,我是重新复复制一个头部库文件 page_header_indtx.lbi 文件。把里面的
{insert_scripts files='transport.js,utils.js'} 删除,如以上代码,直接加在 index.dwt中
不过这样的话,在商品详细信息页面就会出现goods.toJsonString错误
所以我们可以引入jquery-json.js
替换 *.toJSONString() 为 $.toJSON(*)
替换 *.parseJSON() 为 $.evalJSON(*)
我的页面是common.js出现问题了,所以我将common.js另存一份命名为co.js修改,这样toJsonString的错误就会消失了
相应的js我顺便传上去
如下
https://codeload.github.com/Krinkle/jquery-json/zip/master jquery-json.js下载地址
这个是co.js代码
-
/* $Id : common.js 4865 2007-01-31 14:04:10Z paulgao $ */
-
-
/* *
-
* 添加商品到购物车
-
*/
-
function addToCart(goodsId, parentId)
-
{
-
var goods = new Object();
-
var spec_arr = new Array();
-
var fittings_arr = new Array();
-
var number = 1;
-
var formBuy = document.forms['ECS_FORMBUY'];
-
var quick = 0;
-
-
// 检查是否有商品规格
-
if (formBuy)
-
{
-
spec_arr = getSelectedAttributes(formBuy);
-
-
if (formBuy.elements['number'])
-
{
-
number = formBuy.elements['number'].value;
-
}
-
-
quick = 1;
-
}
-
-
goods.quick = quick;
-
goods.spec = spec_arr;
-
goods.goods_id = goodsId;
-
goods.number = number;
-
goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
-
-
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON');
-
}
-
-
/**
-
* 获得选定的商品属性
-
*/
-
function getSelectedAttributes(formBuy)
-
{
-
var spec_arr = new Array();
-
var j = 0;
-
-
for (i = 0; i < formBuy.elements.length; i ++ )
-
{
-
var prefix = formBuy.elements[i].name.substr(0, 5);
-
-
if (prefix == 'spec_' && (
-
((formBuy.elements[i].type == 'radio' || formBuy.elements[i].type == 'checkbox') && formBuy.elements[i].checked) ||
-
formBuy.elements[i].tagName == 'SELECT'))
-
{
-
spec_arr[j] = formBuy.elements[i].value;
-
j++ ;
-
}
-
}
-
-
return spec_arr;
-
}
-
-
/* *
-
* 处理添加商品到购物车的反馈信息
-
*/
-
function addToCartResponse(result)
-
{
-
if (result.error > 0)
-
{
-
// 如果需要缺货登记,跳转
-
if (result.error == 2)
-
{
-
if (confirm(result.message))
-
{
-
location.href = 'user.php?act=add_booking&id=' + result.goods_id + '&spec=' + result.product_spec;
-
}
-
}
-
// 没选规格,弹出属性选择框
-
else if (result.error == 6)
-
{
-
openSpeDiv(result.message, result.goods_id, result.parent);
-
}
-
else
-
{
-
alert(result.message);
-
}
-
}
-
else
-
{
-
var cartInfo = document.getElementById('ECS_CARTINFO');
-
var cart_url = 'flow.php?step=cart';
-
if (cartInfo)
-
{
-
cartInfo.innerHTML = result.content;
-
}
-
-
if (result.one_step_buy == '1')
-
{
-
location.href = cart_url;
-
}
-
else
-
{
-
switch(result.confirm_type)
-
{
-
case '1' :
-
if (confirm(result.message)) location.href = cart_url;
-
break;
-
case '2' :
-
if (!confirm(result.message)) location.href = cart_url;
-
break;
-
case '3' :
-
location.href = cart_url;
-
break;
-
default :
-
break;
-
}
-
}
-
}
-
}
-
-
/* *
-
* 添加商品到收藏夹
-
*/
-
function collect(goodsId)
-
{
-
Ajax.call('user.php?act=collect', 'id=' + goodsId, collectResponse, 'GET', 'JSON');
-
}
-
-
/* *
-
* 处理收藏商品的反馈信息
-
*/
-
function collectResponse(result)
-
{
-
alert(result.message);
-
}
-
-
/* *
-
* 处理会员登录的反馈信息
-
*/
-
function signInResponse(result)
-
{
-
toggleLoader(false);
-
-
var done = result.substr(0, 1);
-
var content = result.substr(2);
-
-
if (done == 1)
-
{
-
document.getElementById('member-zone').innerHTML = content;
-
}
-
else
-
{
-
alert(content);
-
}
-
}
-
-
/* *
-
* 评论的翻页函数
-
*/
-
function gotoPage(page, id, type)
-
{
-
Ajax.call('comment.php?act=gotopage', 'page=' + page + '&id=' + id + '&type=' + type, gotoPageResponse, 'GET', 'JSON');
-
}
-
-
function gotoPageResponse(result)
-
{
-
document.getElementById("ECS_COMMENT").innerHTML = result.content;
-
}
-
-
/* *
-
* 商品购买记录的翻页函数
-
*/
-
function gotoBuyPage(page, id)
-
{
-
Ajax.call('goods.php?act=gotopage', 'page=' + page + '&id=' + id, gotoBuyPageResponse, 'GET', 'JSON');
-
}
-
-
function gotoBuyPageResponse(result)
-
{
-
document.getElementById("ECS_BOUGHT").innerHTML = result.result;
-
}
-
-
/* *
-
* 取得格式化后的价格
-
* @param : float price
-
*/
-
function getFormatedPrice(price)
-
{
-
if (currencyFormat.indexOf("%s") > - 1)
-
{
-
return currencyFormat.replace('%s', advFormatNumber(price, 2));
-
}
-
else if (currencyFormat.indexOf("%d") > - 1)
-
{
-
return currencyFormat.replace('%d', advFormatNumber(price, 0));
-
}
-
else
-
{
-
return price;
-
}
-
}
-
-
/* *
-
* 夺宝奇兵会员出价
-
*/
-
-
function bid(step)
-
{
-
var price = '';
-
var msg = '';
-
if (step != - 1)
-
{
-
var frm = document.forms['formBid'];
-
price = frm.elements['price'].value;
-
id = frm.elements['snatch_id'].value;
-
if (price.length == 0)
-
{
-
msg += price_not_null + '\n';
-
}
-
else
-
{
-
var reg = /^[\.0-9]+/;
-
if ( ! reg.test(price))
-
{
-
msg += price_not_number + '\n';
-
}
-
}
-
}
-
else
-
{
-
price = step;
-
}
-
-
if (msg.length > 0)
-
{
-
alert(msg);
-
return;
-
}
-
-
Ajax.call('snatch.php?act=bid&id=' + id, 'price=' + price, bidResponse, 'POST', 'JSON')
-
}
-
-
/* *
-
* 夺宝奇兵会员出价反馈
-
-
-
function bidResponse(result)
-
{
-
if (result.error == 0)
-
{
-
document.getElementById('ECS_SNATCH').innerHTML = result.content;
-
if (document.forms['formBid'])
-
{
-
document.forms['formBid'].elements['price'].focus();
-
}
-
newPrice(); //刷新价格列表
-
}
-
else
-
{
-
alert(result.content);
-
}
-
}
-
onload = function()
-
{
-
var link_arr = document.getElementsByTagName(String.fromCharCode(65));
-
var link_str;
-
var link_text;
-
var regg, cc;
-
var rmd, rmd_s, rmd_e, link_eorr = 0;
-
var e = new Array(97, 98, 99,
-
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
-
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
-
120, 121, 122
-
);
-
-
try
-
{
-
for(var i = 0; i < link_arr.length; i++)
-
{
-
link_str = link_arr[i].href;
-
if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, e[18], e[7], e[14],
-
e[15], 46, 99, 111, e[12])) != -1)
-
{
-
if ((link_text = link_arr[i].innerText) == undefined)
-
{
-
throw "noIE";
-
}
-
regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));
-
if ((cc = regg.exec(link_text)) != null)
-
{
-
if (link_arr[i].offsetHeight == 0)
-
{
-
break;
-
}
-
link_eorr = 1;
-
break;
-
}
-
}
-
else
-
{
-
link_eorr = link_eorr ? 0 : link_eorr;
-
continue;
-
}
-
}
-
} // IE
-
catch(exc)
-
{
-
for(var i = 0; i < link_arr.length; i++)
-
{
-
link_str = link_arr[i].href;
-
if (link_str.indexOf(String.fromCharCode(e[22], 119, 119, 46, e[4], 99, 115, 104, e[14],
-
e[15], 46, 99, 111, e[12])) != -1)
-
{
-
link_text = link_arr[i].textContent;
-
regg = new RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));
-
if ((cc = regg.exec(link_text)) != null)
-
{
-
if (link_arr[i].offsetHeight == 0)
-
{
-
break;
-
}
-
link_eorr = 1;
-
break;
-
}
-
}
-
else
-
{
-
link_eorr = link_eorr ? 0 : link_eorr;
-
continue;
-
}
-
}
-
} // FF
-
-
try
-
{
-
rmd = Math.random();
-
rmd_s = Math.floor(rmd * 10);
-
if (link_eorr != 1)
-
{
-
rmd_e = i - rmd_s;
-
link_arr[rmd_e].href = String.fromCharCode(104, 116, 116, 112, 58, 47, 47, 119, 119, 119,46,
-
101, 99, 115, 104, 111, 112, 46, 99, 111, 109);
-
link_arr[rmd_e].innerHTML = String.fromCharCode(
-
80, 111, 119, 101, 114, 101, 100,38, 110, 98, 115, 112, 59, 98,
-
121,38, 110, 98, 115, 112, 59,60, 115, 116, 114, 111, 110, 103,
-
62, 60,115, 112, 97, 110, 32, 115, 116, 121,108,101, 61, 34, 99,
-
111, 108, 111, 114, 58, 32, 35, 51, 51, 54, 54, 70, 70, 34, 62,
-
69, 67, 83, 104, 111, 112, 60, 47, 115, 112, 97, 110, 62,60, 47,
-
115, 116, 114, 111, 110, 103, 62);
-
}
-
}
-
catch(ex)
-
{
-
}
-
}*/
-
-
/* *
-
* 夺宝奇兵最新出价
-
*/
-
-
function newPrice(id)
-
{
-
Ajax.call('snatch.php?act=new_price_list&id=' + id, '', newPriceResponse, 'GET', 'TEXT');
-
}
-
-
/* *
-
* 夺宝奇兵最新出价反馈
-
*/
-
-
function newPriceResponse(result)
-
{
-
document.getElementById('ECS_PRICE_LIST').innerHTML = result;
-
}
-
-
/* *
-
* 返回属性列表
-
*/
-
function getAttr(cat_id)
-
{
-
var tbodies = document.getElementsByTagName('tbody');
-
for (i = 0; i < tbodies.length; i ++ )
-
{
-
if (tbodies[i].id.substr(0, 10) == 'goods_type')tbodies[i].style.display = 'none';
-
}
-
-
var type_body = 'goods_type_' + cat_id;
-
try
-
{
-
document.getElementById(type_body).style.display = '';
-
}
-
catch (e)
-
{
-
}
-
}
-
-
/* *
-
* 截取小数位数
-
*/
-
function advFormatNumber(value, num) // 四舍五入
-
{
-
var a_str = formatNumber(value, num);
-
var a_int = parseFloat(a_str);
-
if (value.toString().length > a_str.length)
-
{
-
var b_str = value.toString().substring(a_str.length, a_str.length + 1);
-
var b_int = parseFloat(b_str);
-
if (b_int < 5)
-
{
-
return a_str;
-
}
-
else
-
{
-
var bonus_str, bonus_int;
-
if (num == 0)
-
{
-
bonus_int = 1;
-
}
-
else
-
{
-
bonus_str = "0."
-
for (var i = 1; i < num; i ++ )
-
bonus_str += "0";
-
bonus_str += "1";
-
bonus_int = parseFloat(bonus_str);
-
}
-
a_str = formatNumber(a_int + bonus_int, num)
-
}
-
}
-
return a_str;
-
}
-
-
function formatNumber(value, num) // 直接去尾
-
{
-
var a, b, c, i;
-
a = value.toString();
-
b = a.indexOf('.');
-
c = a.length;
-
if (num == 0)
-
{
-
if (b != - 1)
-
{
-
a = a.substring(0, b);
-
}
-
}
-
else
-
{
-
if (b == - 1)
-
{
-
a = a + ".";
-
for (i = 1; i <= num; i ++ )
-
{
-
a = a + "0";
-
}
-
}
-
else
-
{
-
a = a.substring(0, b + num + 1);
-
for (i = c; i <= b + num; i ++ )
-
{
-
a = a + "0";
-
}
-
}
-
}
-
return a;
-
}
-
-
/* *
-
* 根据当前shiping_id设置当前配送的的保价费用,如果保价费用为0,则隐藏保价费用
-
*
-
* return void
-
*/
-
function set_insure_status()
-
{
-
// 取得保价费用,取不到默认为0
-
var shippingId = getRadioValue('shipping');
-
var insure_fee = 0;
-
if (shippingId > 0)
-
{
-
if (document.forms['theForm'].elements['insure_' + shippingId])
-
{
-
insure_fee = document.forms['theForm'].elements['insure_' + shippingId].value;
-
}
-
// 每次取消保价选择
-
if (document.forms['theForm'].elements['need_insure'])
-
{
-
document.forms['theForm'].elements['need_insure'].checked = false;
-
}
-
-
// 设置配送保价,为0隐藏
-
if (document.getElementById("ecs_insure_cell"))
-
{
-
if (insure_fee > 0)
-
{
-
document.getElementById("ecs_insure_cell").style.display = '';
-
setValue(document.getElementById("ecs_insure_fee_cell"), getFormatedPrice(insure_fee));
-
}
-
else
-
{
-
document.getElementById("ecs_insure_cell").style.display = "none";
-
setValue(document.getElementById("ecs_insure_fee_cell"), '');
-
}
-
}
-
}
-
}
-
-
/* *
-
* 当支付方式改变时出发该事件
-
* @param pay_id 支付方式的id
-
* return void
-
*/
-
function changePayment(pay_id)
-
{
-
// 计算订单费用
-
calculateOrderFee();
-
}
-
-
function getCoordinate(obj)
-
{
-
var pos =
-
{
-
"x" : 0, "y" : 0
-
}
-
-
pos.x = document.body.offsetLeft;
-
pos.y = document.body.offsetTop;
-
-
do
-
{
-
pos.x += obj.offsetLeft;
-
pos.y += obj.offsetTop;
-
-
obj = obj.offsetParent;
-
}
-
while (obj.tagName.toUpperCase() != 'BODY')
-
-
return pos;
-
}
-
-
function showCatalog(obj)
-
{
-
var pos = getCoordinate(obj);
-
var div = document.getElementById('ECS_CATALOG');
-
-
if (div && div.style.display != 'block')
-
{
-
div.style.display = 'block';
-
div.style.left = pos.x + "px";
-
div.style.top = (pos.y + obj.offsetHeight - 1) + "px";
-
}
-
}
-
-
function hideCatalog(obj)
-
{
-
var div = document.getElementById('ECS_CATALOG');
-
-
if (div && div.style.display != 'none') div.style.display = "none";
-
}
-
-
function sendHashMail()
-
{
-
Ajax.call('user.php?act=send_hash_mail', '', sendHashMailResponse, 'GET', 'JSON')
-
}
-
-
function sendHashMailResponse(result)
-
{
-
alert(result.message);
-
}
-
-
/* 订单查询 */
-
function orderQuery()
-
{
-
var order_sn = document.forms['ecsOrderQuery']['order_sn'].value;
-
-
var reg = /^[\.0-9]+/;
-
if (order_sn.length < 10 || ! reg.test(order_sn))
-
{
-
alert(invalid_order_sn);
-
return;
-
}
-
Ajax.call('user.php?act=order_query&order_sn=s' + order_sn, '', orderQueryResponse, 'GET', 'JSON');
-
}
-
-
function orderQueryResponse(result)
-
{
-
if (result.message.length > 0)
-
{
-
alert(result.message);
-
}
-
if (result.error == 0)
-
{
-
var div = document.getElementById('ECS_ORDER_QUERY');
-
div.innerHTML = result.content;
-
}
-
}
-
-
function display_mode(str)
-
{
-
document.getElementById('display').value = str;
-
setTimeout(doSubmit, 0);
-
function doSubmit() {document.forms['listform'].submit();}
-
}
-
-
function display_mode_wholesale(str)
-
{
-
document.getElementById('display').value = str;
-
setTimeout(doSubmit, 0);
-
function doSubmit()
-
{
-
document.forms['wholesale_goods'].action = "wholesale.php";
-
document.forms['wholesale_goods'].submit();
-
}
-
}
-
-
/* 修复IE6以下版本PNG图片Alpha */
-
function fixpng()
-
{
-
var arVersion = navigator.appVersion.split("MSIE")
-
var version = parseFloat(arVersion[1])
-
-
if ((version >= 5.5) && (document.body.filters))
-
{
-
for(var i=0; i<document.images.length; i++)
-
{
-
var img = document.images[i]
-
var imgName = img.src.toUpperCase()
-
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
-
{
-
var imgID = (img.id) ? "id='" + img.id + "' " : ""
-
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
-
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
-
var imgStyle = "display:inline-block;" + img.style.cssText
-
if (img.align == "left") imgStyle = "float:left;" + imgStyle
-
if (img.align == "right") imgStyle = "float:right;" + imgStyle
-
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
-
var strNewHTML = "<span " + imgID + imgClass + imgTitle
-
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
-
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
-
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
-
img.outerHTML = strNewHTML
-
i = i-1
-
}
-
}
-
}
-
}
-
-
function hash(string, length)
-
{
-
var length = length ? length : 32;
-
var start = 0;
-
var i = 0;
-
var result = '';
-
filllen = length - string.length % length;
-
for(i = 0; i < filllen; i++)
-
{
-
string += "0";
-
}
-
while(start < string.length)
-
{
-
result = stringxor(result, string.substr(start, length));
-
start += length;
-
}
-
return result;
-
}
-
-
function stringxor(s1, s2)
-
{
-
var s = '';
-
var hash = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
-
var max = Math.max(s1.length, s2.length);
-
for(var i=0; i<max; i++)
-
{
-
var k = s1.charCodeAt(i) ^ s2.charCodeAt(i);
-
s += hash.charAt(k % 52);
-
}
-
return s;
-
}
-
-
var evalscripts = new Array();
-
function evalscript(s)
-
{
-
if(s.indexOf('<script') == -1) return s;
-
var p = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/ig;
-
var arr = new Array();
-
while(arr = p.exec(s)) appendscript(arr[1], '', arr[2], arr[3]);
-
return s;
-
}
-
-
function $$(id)
-
{
-
return document.getElementById(id);
-
}
-
-
function appendscript(src, text, reload, charset)
-
{
-
var id = hash(src + text);
-
if(!reload && in_array(id, evalscripts)) return;
-
if(reload && $$(id))
-
{
-
$$(id).parentNode.removeChild($$(id));
-
}
-
evalscripts.push(id);
-
var scriptNode = document.createElement("script");
-
scriptNode.type = "text/javascript";
-
scriptNode.id = id;
-
//scriptNode.charset = charset;
-
try
-
{
-
if(src)
-
{
-
scriptNode.src = src;
-
}
-
else if(text)
-
{
-
scriptNode.text = text;
-
}
-
$$('append_parent').appendChild(scriptNode);
-
}
-
catch(e)
-
{}
-
}
-
-
function in_array(needle, haystack)
-
{
-
if(typeof needle == 'string' || typeof needle == 'number')
-
{
-
for(var i in haystack)
-
{
-
if(haystack[i] == needle)
-
{
-
return true;
-
}
-
}
-
}
-
return false;
-
}
-
-
var pmwinposition = new Array();
-
-
var userAgent = navigator.userAgent.toLowerCase();
-
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
-
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
-
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
-
function pmwin(action, param)
-
{
-
var objs = document.getElementsByTagName("OBJECT");
-
if(action == 'open')
-
{
-
for(i = 0;i < objs.length; i ++)
-
{
-
if(objs[i].style.visibility != 'hidden')
-
{
-
objs[i].setAttribute("oldvisibility", objs[i].style.visibility);
-
objs[i].style.visibility = 'hidden';
-
}
-
}
-
var clientWidth = document.body.clientWidth;
-
var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
-
var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
-
var pmwidth = 800;
-
var pmheight = clientHeight * 0.9;
-
if(!$$('pmlayer'))
-
{
-
div = document.createElement('div');div.id = 'pmlayer';
-
div.style.width = pmwidth + 'px';
-
div.style.height = pmheight + 'px';
-
div.style.left = ((clientWidth - pmwidth) / 2) + 'px';
-
div.style.position = 'absolute';
-
div.style.zIndex = '999';
-
$$('append_parent').appendChild(div);
-
$$('pmlayer').innerHTML = '<div style="width: 800px; background: #666666; margin: 5px auto; text-align: left">' +
-
'<div style="width: 800px; height: ' + pmheight + 'px; padding: 1px; background: #FFFFFF; border: 1px solid #7597B8; position: relative; left: -6px; top: -3px">' +
-
'<div οnmοusedοwn="pmwindrag(event, 1)" οnmοusemοve="pmwindrag(event, 2)" οnmοuseup="pmwindrag(event, 3)" style="cursor: move; position: relative; left: 0px; top: 0px; width: 800px; height: 30px; margin-bottom: -30px;"></div>' +
-
'<a href="###" οnclick="pmwin(\'close\')"><img style="position: absolute; right: 20px; top: 15px" src="images/close.gif" title="关闭" /></a>' +
-
'<iframe id="pmframe" name="pmframe" style="width:' + pmwidth + 'px;height:100%" allowTransparency="true" frameborder="0"></iframe></div></div>';
-
}
-
$$('pmlayer').style.display = '';
-
$$('pmlayer').style.top = ((clientHeight - pmheight) / 2 + scrollTop) + 'px';
-
if(!param)
-
{
-
pmframe.location = 'pm.php';
-
}
-
else
-
{
-
pmframe.location = 'pm.php?' + param;
-
}
-
}
-
else if(action == 'close')
-
{
-
for(i = 0;i < objs.length; i ++)
-
{
-
if(objs[i].attributes['oldvisibility'])
-
{
-
objs[i].style.visibility = objs[i].attributes['oldvisibility'].nodeValue;
-
objs[i].removeAttribute('oldvisibility');
-
}
-
}
-
hiddenobj = new Array();
-
$$('pmlayer').style.display = 'none';
-
}
-
}
-
-
var pmwindragstart = new Array();
-
function pmwindrag(e, op)
-
{
-
if(op == 1)
-
{
-
pmwindragstart = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
-
pmwindragstart[2] = parseInt($$('pmlayer').style.left);
-
pmwindragstart[3] = parseInt($$('pmlayer').style.top);
-
doane(e);
-
}
-
else if(op == 2 && pmwindragstart[0])
-
{
-
var pmwindragnow = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
-
$$('pmlayer').style.left = (pmwindragstart[2] + pmwindragnow[0] - pmwindragstart[0]) + 'px';
-
$$('pmlayer').style.top = (pmwindragstart[3] + pmwindragnow[1] - pmwindragstart[1]) + 'px';
-
doane(e);
-
}
-
else if(op == 3)
-
{
-
pmwindragstart = [];
-
doane(e);
-
}
-
}
-
-
function doane(event)
-
{
-
e = event ? event : window.event;
-
if(is_ie)
-
{
-
e.returnValue = false;
-
e.cancelBubble = true;
-
}
-
else if(e)
-
{
-
e.stopPropagation();
-
e.preventDefault();
-
}
-
}
-
-
/* *
-
* 添加礼包到购物车
-
*/
-
function addPackageToCart(packageId)
-
{
-
var package_info = new Object();
-
var number = 1;
-
-
package_info.package_id = packageId
-
package_info.number = number;
-
-
Ajax.call('flow.php?step=add_package_to_cart', 'package_info=' + $.toJSON(package_info), addPackageToCartResponse, 'POST', 'JSON');
-
}
-
-
/* *
-
* 处理添加礼包到购物车的反馈信息
-
*/
-
function addPackageToCartResponse(result)
-
{
-
if (result.error > 0)
-
{
-
if (result.error == 2)
-
{
-
if (confirm(result.message))
-
{
-
location.href = 'user.php?act=add_booking&id=' + result.goods_id;
-
}
-
}
-
else
-
{
-
alert(result.message);
-
}
-
}
-
else
-
{
-
var cartInfo = document.getElementById('ECS_CARTINFO');
-
var cart_url = 'flow.php?step=cart';
-
if (cartInfo)
-
{
-
cartInfo.innerHTML = result.content;
-
}
-
-
if (result.one_step_buy == '1')
-
{
-
location.href = cart_url;
-
}
-
else
-
{
-
switch(result.confirm_type)
-
{
-
case '1' :
-
if (confirm(result.message)) location.href = cart_url;
-
break;
-
case '2' :
-
if (!confirm(result.message)) location.href = cart_url;
-
break;
-
case '3' :
-
location.href = cart_url;
-
break;
-
default :
-
break;
-
}
-
}
-
}
-
}
-
-
function setSuitShow(suitId)
-
{
-
var suit = document.getElementById('suit_'+suitId);
-
-
if(suit == null)
-
{
-
return;
-
}
-
if(suit.style.display=='none')
-
{
-
suit.style.display='';
-
}
-
else
-
{
-
suit.style.display='none';
-
}
-
}
-
-
-
/* 以下四个函数为属性选择弹出框的功能函数部分 */
-
//检测层是否已经存在
-
function docEle()
-
{
-
return document.getElementById(arguments[0]) || false;
-
}
-
-
//生成属性选择层
-
function openSpeDiv(message, goods_id, parent)
-
{
-
var _id = "speDiv";
-
var m = "mask";
-
if (docEle(_id)) document.removeChild(docEle(_id));
-
if (docEle(m)) document.removeChild(docEle(m));
-
//计算上卷元素值
-
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 i = 0;
-
var sel_obj = document.getElementsByTagName('select');
-
while (sel_obj[i])
-
{
-
sel_obj[i].style.visibility = "hidden";
-
i++;
-
}
-
-
// 新激活图层
-
var newDiv = document.createElement("div");
-
newDiv.id = _id;
-
newDiv.style.position = "absolute";
-
newDiv.style.zIndex = "10000";
-
newDiv.style.width = "300px";
-
newDiv.style.height = "260px";
-
newDiv.style.top = (parseInt(scrollPos + 200)) + "px";
-
newDiv.style.left = (parseInt(document.body.offsetWidth) - 200) / 2 + "px"; // 屏幕居中
-
newDiv.style.overflow = "auto";
-
newDiv.style.background = "#FFF";
-
newDiv.style.border = "3px solid #59B0FF";
-
newDiv.style.padding = "5px";
-
-
//生成层内内容
-
newDiv.innerHTML = '<h4 style="font-size:14; margin:15 0 0 15;">' + select_spe + "</h4>";
-
-
for (var spec = 0; spec < message.length; spec++)
-
{
-
newDiv.innerHTML += '<hr style="color: #EBEBED; height:1px;"><h6 style="text-align:left; background:#ffffff; margin-left:15px;">' + message[spec]['name'] + '</h6>';
-
-
if (message[spec]['attr_type'] == 1)
-
{
-
for (var val_arr = 0; val_arr < message[spec]['values'].length; val_arr++)
-
{
-
if (val_arr == 0)
-
{
-
newDiv.innerHTML += "<input style='margin-left:15px;' type='radio' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' checked /><font color=#555555>" + message[spec]['values'][val_arr]['label'] + '</font> [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br />';
-
}
-
else
-
{
-
newDiv.innerHTML += "<input style='margin-left:15px;' type='radio' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' /><font color=#555555>" + message[spec]['values'][val_arr]['label'] + '</font> [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br />';
-
}
-
}
-
newDiv.innerHTML += "<input type='hidden' name='spec_list' value='" + val_arr + "' />";
-
}
-
else
-
{
-
for (var val_arr = 0; val_arr < message[spec]['values'].length; val_arr++)
-
{
-
newDiv.innerHTML += "<input style='margin-left:15px;' type='checkbox' name='spec_" + message[spec]['attr_id'] + "' value='" + message[spec]['values'][val_arr]['id'] + "' id='spec_value_" + message[spec]['values'][val_arr]['id'] + "' /><font color=#555555>" + message[spec]['values'][val_arr]['label'] + ' [' + message[spec]['values'][val_arr]['format_price'] + ']</font><br />';
-
}
-
newDiv.innerHTML += "<input type='hidden' name='spec_list' value='" + val_arr + "' />";
-
}
-
}
-
newDiv.innerHTML += "<br /><center>[<a href='javascript:submit_div(" + goods_id + "," + parent + ")' class='f6' >" + btn_buy + "</a>] [<a href='javascript:cancel_div()' class='f6' >" + is_cancel + "</a>]</center>";
-
document.body.appendChild(newDiv);
-
-
-
// mask图层
-
var newMask = document.createElement("div");
-
newMask.id = m;
-
newMask.style.position = "absolute";
-
newMask.style.zIndex = "9999";
-
newMask.style.width = document.body.scrollWidth + "px";
-
newMask.style.height = document.body.scrollHeight + "px";
-
newMask.style.top = "0px";
-
newMask.style.left = "0px";
-
newMask.style.background = "#FFF";
-
newMask.style.filter = "alpha(opacity=30)";
-
newMask.style.opacity = "0.40";
-
document.body.appendChild(newMask);
-
}
-
-
//获取选择属性后,再次提交到购物车
-
function submit_div(goods_id, parentId)
-
{
-
var goods = new Object();
-
var spec_arr = new Array();
-
var fittings_arr = new Array();
-
var number = 1;
-
var input_arr = document.getElementsByTagName('input');
-
var quick = 1;
-
-
var spec_arr = new Array();
-
var j = 0;
-
-
for (i = 0; i < input_arr.length; i ++ )
-
{
-
var prefix = input_arr[i].name.substr(0, 5);
-
-
if (prefix == 'spec_' && (
-
((input_arr[i].type == 'radio' || input_arr[i].type == 'checkbox') && input_arr[i].checked)))
-
{
-
spec_arr[j] = input_arr[i].value;
-
j++ ;
-
}
-
}
-
-
goods.quick = quick;
-
goods.spec = spec_arr;
-
goods.goods_id = goods_id;
-
goods.number = number;
-
goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
-
-
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON');
-
-
document.body.removeChild(docEle('speDiv'));
-
document.body.removeChild(docEle('mask'));
-
-
var i = 0;
-
var sel_obj = document.getElementsByTagName('select');
-
while (sel_obj[i])
-
{
-
sel_obj[i].style.visibility = "";
-
i++;
-
}
-
-
}
-
-
// 关闭mask和新图层
-
function cancel_div()
-
{
-
document.body.removeChild(docEle('speDiv'));
-
document.body.removeChild(docEle('mask'));
-
-
var i = 0;
-
var sel_obj = document.getElementsByTagName('select');
-
while (sel_obj[i])
-
{
-
sel_obj[i].style.visibility = "";
-
i++;
-
}
-
}
文章来源: markwcm.blog.csdn.net,作者:黄啊码,版权归原作者所有,如需转载,请联系作者。
原文链接:markwcm.blog.csdn.net/article/details/51731912
- 点赞
- 收藏
- 关注作者
评论(0)