0

私はこのコードを使用しています:

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' request-parameterは、状態に関連付けられたフォルダーに対応する数値になりますが、数値を関連付ける方法がわかりません。

各状態が0から状態の数までの数になるとしましょう。

4

1 に答える 1

0

州ごとに ID を作成してみませんか。

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

その後:

var url = "index.php?cmd=2&sub=" + ids[state];
于 2012-04-23T19:33:55.580 に答える