我创建了一个Raphael文档并存储了这样的位置:
var R = Raphael("paper", 600, 500);
var attr = {
fill: "#fff",
stroke: "#fff",
"stroke-width": 1,
"stroke-linejoin": "round"
};
- 从db分配到object
'ausData'获取coords并创建object
'aus' -
$.each(ausData,function(i,obj) {
attr.fill = myData[i].color;
aus[i] = R.path(obj).attr(attr);
aus[i].id = myData[i].id;
mapIdObj[stateData[i].id] = R.getById(stateData[i].id);//aus[i].id;
});
所以路径对象存储在对象mapIdObj
中然后我尝试通过单击链接来更改路径对象。在jQuery.post.success
的.ccess访问中我正在遍历所有元素,并在页面上附加一个锚标记,并在jQuery.post.complete
上试图绑定一个点击:
$('#superHappyDiv').append('<a id="button'+st.id+'" class="superButton" name="button'+st.id+'" ref="'+st.id+'" class="" href="javascript:;" title="" target="">x</a>');
$('.superButton').live('click onmousedown',function() {
if (window.console) console.log($(this).attr('ref'));
var thisPath = mapIdObj[$(this).attr('ref')];
thisPath.animate({ 'transform': 's2', opacity: .9 }, 300, "<>");
});
其他answers已经指出这是有效的,而且确实如此,但至少在IE 7和8中都没有!
是否有一种更有效的方法可以让它在IE中工作或完全工作?!
干杯,博