目前共有15篇帖子。
ot.showing=Array();
先建立数组。假设当前遍历到2010年11月10日,对应的表格号(var:itemid)是17。该日期下有一个长3天的活动,也就是持续到12日,那么当前遍历到10日是该活动就没有结束,那么就不显示右圆角。
此时把活动id和该活动在表格中的显示顺序记录入数组ot.showing。
循环段结束,接下来遍历11日。11日中继承活动10日的那个长3天的活动(xml中已返回),此时遍历一下数组:
<?js
for(i=0;i<ot.showing.length;i++){
dd=ot.showing[i][0]; //活动id
ddd=ot.showing[i][1]; //表格中的显示顺序
}
?>
简单写一下:当变量j在ot.showing中存在记录时,用空li标签霸占当前的位置,然后再输出当前活动的li标签,假设那个长3日的活动(以后叫x活动)在10日表格中的显示序号为1,那么在11号表格中:
若11号除了x活动外一个活动都没有,那么var:activesnum就等于1,遍历过程如下:
for (j=0;j<activesnum;j++,amn++){
第一次遍历,var:j等于0,此时刚好指向x活动。由于x活动在10号中的显示序号为1,当前序号(var:j)是0,那么10号就不能显示到……太复杂了,程序中根本无法实现,算了,改用换数组的方法。
换数组的方法具体是:
ajax返回的xml中的根节点下有很多日期节点,各日期节点下有很多活动节点。先把这些活动节点遍历进入数组,等待排序:
var dn=Array(); //活动节点
dn[i]=Array(); //dn[i]中i为表格号,值为各活动
假设dn[表格号]的数据格式是:Array("活动数据组","活动数据组",...))
若dn[17]==Array(Array("标题","内容"),Array("22","33"));
主动把数组位置调换一下,再遍历数组就可以了。
回复:6楼
我改在用php-ajax服务器端排序了
内容转换: