如何使用raphael.js获取paper.path NUMBER

时间:2012-04-23 19:06:23

标签: 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].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);
}

从此页面:http://raphaeljs.com/australia.htm

我添加了这个:

st[0].onmousedown = function() {
    paper.print();
    var url = "index.php?cmd=2&sub=0";
    window.open(url, "popup");
};

进入for循环,打开一个由php脚本生成的弹出窗口。

'sub'请求参数将是与状态相关联的文件夹对应的数值,但我不知道如何将数字与它关联。

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

1 个答案:

答案 0 :(得分:0)

为什么不为每个州创建id:

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

然后:

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