Javascript 如何使用raphael.js获取paper.path编号

Javascript 如何使用raphael.js获取paper.path编号,javascript,raphael,Javascript,Raphael,我正在使用以下代码: var current = null; for ( var state in aus) { aus[state].color = Raphael.getColor(); (function(st, state) { st[0].style.cursor = "pointer"; st[0].onmouseover = function() { current && aus[current

我正在使用以下代码:

var current = null;
for ( var state in aus) {
    aus[state].color = Raphael.getColor();
    (function(st, state) {
        st[0].style.cursor = "pointer";
        st[0].onmouseover = function() {
            current && aus[current].animate({
                fill : "#333",
                stroke : "#666"
            }, 500) && (document.getElementById(current).style.display = "");
            st.animate({
                fill : st.color,
                stroke : "#ccc"
            }, 500);
            st.toFront();
            R.safari();
            document.getElementById(state).style.display = "block";
            current = state;
        };
        st[0].onmouseout = function() {
            st.animate({
                fill : "#333",
                stroke : "#666"
            }, 500);
            st.toFront();
            R.safari();
        };
        if (state == "nsw") {
            st[0].onmouseover();
        }
    })(aus[state], state);
}
从本页:

我补充说:

st[0].onmousedown = function() {
    paper.print();
    var url = "index.php?cmd=2&sub=0";
    window.open(url, "popup");
};
进入for循环以打开由php脚本生成的弹出窗口

“sub”请求参数将是一个与状态关联的文件夹对应的数值,但我不知道如何将数字与之关联


假设每个状态都是从0到状态数的数字。

为什么不为每个状态创建id:

var ids = {}, i = 0;
for (var state in aus) {
  ids[state] = i;
  i++;
}
然后:

var url = "index.php?cmd=2&sub=" + ids[state];

简单又漂亮!这只是制作一个数字数组,我没想过,谢谢。