后台订单层—
珙桐402 次
function bind_order_event()
{
var order_seq = 0; //设置变量等于0
//while 在进入循环时先检查条件,下面为true,那就直接进入循环
while(true) //整不明白
{
//先暂且不论Utils是什么东西, 可以肯定是一个对象
//第一次进入循环 order_seq= 0
//那么$('order_'+order_seq) = $('order_0')
//这样看来可能是找页面上的某个元素对象
//而这个$('order_0') 又是Utils的一个属性
var order_sn = Utils.$('order_'+order_seq); 整不明白//也就是说,如果这个存在,也就是找到了$('order_0') 具体你点右键,查看源代码
//看看是不是有order_0字样的东西
if (order_sn) //这里是判断什么的?判断order_sn存在呢,还是判断值呢?
{
//e 在函数参数列表内,那么当鼠标移动,会有个事件发生,就是event,
order_sn.onmouseover = function(e) //设置函数e代表 鼠标移动?
{
//试图执行clearTimeout,如果失败,系统会转到catch
try //没明白
{
window.clearTimeout(timer); //清除时间
}
catch(e) //没明白 --------
{
}
//估计是调用ajax,返回一个什么值
var order_id = Utils.request(this.href, 'order_id'); //没明白
//有了order_id,调用下面这个函数,估计是显示产品
show_order_goods(e, order_id, show_goods_layer); //运行这个函数?
}
//
order_sn.onmouseout = function(e) //设置函数e代表 鼠标离开?{
hide_order_goods(show_goods_layer) //运行这个函数?}
order_seq++; 变量的值加1
}
else //否则
{
break; //终止运行
}
}全文如下:onload = function()
{
// 开始检查订单
startCheckOrder();
}/**
* 搜索订单
*/
function searchOrder()
{
listTable.filter['order_sn'] = Utils.trim(document.forms['searchForm'].elements['order_sn'].value);
listTable.filter['consignee'] = Utils.trim(document.forms['searchForm'].elements['consignee'].value);
listTable.filter['composite_status'] = document.forms['searchForm'].elements['status'].value;
listTable.filter['page'] = 1;
listTable.loadList();
}function check()
{
var snArray = new Array();
var eles = document.forms['listForm'].elements;
for (var i=0; i<eles.length; i++)
{
if (eles[i].tagName == 'INPUT' && eles[i].type == 'checkbox' && eles[i].checked && eles[i].value != 'on')
{
snArray.push(eles[i].value);
}
}
if (snArray.length == 0)
{
return false;
}
else
{
eles['order_id'].value = snArray.toString();
return true;
}
}
/**
* 显示订单商品及缩图
*/
var show_goods_layer = 'order_goods_layer';
var goods_hash_table = new Object;
var timer = new Object;/**
* 绑定订单号事件
*
* @return void
*/
function bind_order_event()
{
var order_seq = 0;
while(true)
{
var order_sn = Utils.$('order_'+order_seq);
if (order_sn)
{
order_sn.onmouseover = function(e)
{
try
{
window.clearTimeout(timer);
}
catch(e)
{
}
var order_id = Utils.request(this.href, 'order_id');
show_order_goods(e, order_id, show_goods_layer);
}
order_sn.onmouseout = function(e)
{
hide_order_goods(show_goods_layer)
}
order_seq++;
}
else
{
break;
}
}
}
listTable.listCallback = function(result, txt)
{
if (result.error > 0)
{
alert(result.message);
}
else
{
try
{
document.getElementById('listDiv').innerHTML = result.content;
bind_order_event();
if (typeof result.filter == "object")
{
listTable.filter = result.filter;
}
listTable.pageCount = result.page_count;
}
catch(e)
{
alert(e.message);
}
}
}
/**
* 浏览器兼容式绑定Onload事件
*
*/
if (Browser.isIE)
{
window.attachEvent("onload", bind_order_event);
}
else
{
window.addEventListener("load", bind_order_event, false);
}/**
* 建立订单商品显示层
*
* @return void
*/
function create_goods_layer(id)
{
if (!Utils.$(id))
{
var n_div = document.createElement('DIV');
n_div.id = id;
n_div.className = 'order-goods';
document.body.appendChild(n_div);
Utils.$(id).onmouseover = function()
{
window.clearTimeout(window.timer);
}
Utils.$(id).onmouseout = function()
{
hide_order_goods(id);
}
}
else
{
Utils.$(id).style.display = '';
}
}/**
* 显示订单商品数据
*
* @return void
*/
function show_order_goods(e, order_id, layer_id)
{
create_goods_layer(layer_id);
$layer_id = Utils.$(layer_id);
$layer_id.style.top = (Utils.y(e) + 12) + 'px';
$layer_id.style.left = (Utils.x(e) + 12) + 'px';
if (typeof(goods_hash_table[order_id]) == 'object')
{
response_goods_info(goods_hash_table[order_id]);
}
else
{
$layer_id.innerHTML = loading;
Ajax.call('order.php?is_ajax=1&act=get_goods_info&order_id='+order_id, '', response_goods_info , 'POST', 'JSON');
}
}/**
* 隐藏订单商品
*
* @return void
*/
function hide_order_goods(layer_id)
{
$layer_id = Utils.$(layer_id);
window.timer = window.setTimeout('$layer_id.style.display = "none"', 500);
}/**
* 处理订单商品的Callback
*
* @return void
*/
function response_goods_info(result)
{
if (result.error > 0)
{
alert(result.message);
hide_order_goods(show_goods_layer);
return;
}
if (typeof(goods_hash_table[result.content[0].order_id]) == 'undefined')
{
goods_hash_table[result.content[0].order_id] = result;
}
Utils.$(show_goods_layer).innerHTML = result.content[0].str;
}
评论 | 0 条评论