菜鸟提问 ‘i’为空或不是对象 哪错了,求大神
var Map = {
'白羊座': {
'd': '03.21-04.19',
'i': 1,
'c': '4'
},
'金牛座': {
'd': '04.20-05.20',
'i': 2,
'c': '5'
},
'双子座': {
'd': '05.21-06.21',
'i': 3,
'c': '6'
},
'巨蟹座': {
'd': '06.22-07.22',
'i': 4,
'c': '7'
},
'狮子座': {
'd': '07.23-08.22',
'i': 5,
'c': '8'
},
'处女座': {
'd': '08.23-09.22',
'i': 6,
'c': '9'
},
'天秤座': {
'd': '09.23-10.23',
'i': 7,
'c': '10'
},
'天蝎座': {
'd': '10.24-11.22',
'i': 8,
'c': '11'
},
'射手座': {
'd': '11.23-12.21',
'i': 9,
'c': '12'
},
'摩羯座': {
'd': '12.22-01.19',
'i': 10,
'c': '1'
},
'水瓶座': {
'd': '01.20-02.18',
'i': 11,
'c': '2'
},
'双鱼座': {
'd': '02.19-03.20',
'i': 12,
'c': '3'
}
};
function getMapIndex(xz) {
return Map[xz]['c']
}
var Main = function() {
var apps = {},
num = 0,
tabLists = $('#xz-tab>a'),
highlightLi = tabLists.eq(0);
return {
add: function() {
$.each(Array.prototype.slice.call(arguments),
function() {
apps[this.name] || (apps[this.name] = this);
this.__UID = num++;
});
},
create: function() {
this.listen();
this.events();
this._run();
},
listen: function() {
var _this = this;
var hash = {
'week': '您本周每日的运势曲线',
'month': '您本月每周的运势曲线',
'year': '您本年每月的运势曲线'
};
$(this).bind('APP_ACTIVE',
function(event, app) {
$('#ploader').show();
tabLists.removeClass('app_bt_sc');
highlightLi.addClass('app_bt_sc');
$.each(apps,
function() {
this.name === app.name || this.unActive();
});
this.activeApp = app;
this.updateHeightPosition();
if (app.chartType) {
$('#detail_tit').html(hash[app.chartType]);
}
});
$(this).bind('APP_ONSHOW',
function(event, app) {
$('#ploader').hide();
app.bindevent();
var times = 0;
function charts() {
if (!window.__SWF__ && times < 80) {
setTimeout(arguments.callee, 500);
console.log(times++);
} else if (window.__SWF__) {
_this.renderFlash(app);
$('div.fenlei input').eq(0).click();
} else {
console.log('flash charts error!');
}
}
charts();
});
},
events: function() {
var _this = this;
tabLists.click(function() {
if (this.className === 'guess' || highlightLi[0] === this) return false;
var appname = $.trim(this.innerHTML);
highlightLi = $(this);
return apps[appname].active();
});
var r = 0,
s = 1;
$('#myset').click(function() {
if (r === 1) return;
r = 1;
if (s) {
$('#xz_list').slideDown(function() {
r = 0;
updateHeight();
$('#myset').html('[收起]')
});
s = 0;
} else {
$('#xz_list').slideUp(function() {
r = 0;
updateHeight();
$('#myset').html('[更换星座]')
});
s = 1;
}
return false;
});
var dd = $('#xz_list dd'),
h = dd.find('div.plf');
dd.click(function() {
h.removeClass('on');
var xz = $.trim($(this).find('div.plf').addClass('on').html().split('<')[0]);
_this.display(xz);
getIns('xingzuo').__cfg.xz = xz;
getIns('xingzuo').__simpleSave(function() {});
$('#details').html('星座-' + xz + '<span style="font-family:Tahoma"> (' + Map[xz]['d'] + ')</span>');
});
$('div.fenlei input').click(function() {
_this.showChart(_this.dataTemp[this.value]);
});
},
renderFlash: function(app) {
if (!app.chartType) {
return;
}
alert(this.xz)
var chartData = Xbase[this.xz][app.chartType + '_charts'],
xruling = [].concat(chartData.des);
dataTemp = {},
types = ['整体', '事业', '爱情', '财运'],
des = ['最差', '不佳', '平平', '出运', '一级棒'];
if (app.name === '明日运程') {
$.each(xruling,
function(i, d) {
var s = d.split('|');
if (s.length == 2) {
xruling[i] = s[0];
var j = i > 5 ? 0 : i + 1;
xruling[j] += '|' + s[1];
return false;
}
})
}
$.each(types,
function(k, v) {
if (!dataTemp[v]) {
dataTemp[v] = {
Y: des,
V: []
};
}
$.each(xruling,
function(i, d) {
var x = chartData[v][i];
dataTemp[v]['V'].push([d, x, x + '颗星']);
})
})
this.dataTemp = dataTemp;
this.showChart(dataTemp['整体']);
},
showChart: function(data) {
window.__SWF__.setData(data);
},
_run: function(xz) {
this.activeApp = Today;
this.display(getIns('xingzuo').__cfg.xz || '白羊座');
$('#xz_list .plf').removeClass('on').each(function() {
var xz = $.trim($(this).html().split('<')[0]);
if (xz == getIns('xingzuo').__cfg.xz) {
$(this).addClass('on');
$('#details').html('星座-' + xz + '<span style="font-family:Tahoma"> (' + Map[xz]['d'] + ')</span>');
return false;
}
});
},
display: function(xz) {
this.xz = xz;
this.activeApp.active(true);
},
updateHeightPosition: function() {
var t = 300;
if (!this.activeApp.chartType) t = -999;
$('#flashchart').css('top', t);
}
}
} ();
var Xbase = function() {
this.init.apply(this, arguments)
};
Xbase.prototype = {
__UID: 0,
_cache: {},
init: function(name, tpl) {
var _this = this;
this.name = name;
this.tpl = tpl;
},
active: function(always) {
this._fire('APP_ACTIVE', [this]);
if (this.actived && !always) return false;
this.actived = true;
this.requestAndRender();
},
requestAndRender: function() {
var _this = this,
xz = Main.xz,
d = Map[xz];
if (Xbase[xz]) {
Templater.render(_this, Xbase[xz]);
return;
}
$.getScript(G_dirUrl+'images/xingzuo/Ajax_value.asp?v=a&j='+d.i+"&t="+new Date(),
function() {
$xingzuo_data['__timstamp'] = d.d;
$xingzuo_data['__class'] = 'a_' + d.c;
Templater.render(_this, Xbase[xz] = $xingzuo_data);
});
},