。私はraphael.jsを初めて使用します。マウスオーバー中に色を変更できるtを使用してヨーロッパの地図を作成しましたが、tsを
クリックしたときに特定の国をズームしたいだけです。クリックした国をズームするようなものである必要があります。国の特定のポイントscript type="text/javascript" charset="utf-8"> $(document).ready(function() { var rsr = Raphael('map', '631', '686'); var attr = { fill: "#C0C0C0", stroke: "#666", "stroke-width": 1, "stroke-linejoin": "round" }; var world = {}; world.Portugal = rsr.path("56,0.133-1.32,0.527c-0.661,1.321-0.264,2.906-0.925,4.228c-0.528,1.057-3.698,5.415-3.434,6.868 c0.132,0.526,1.056-0.529,1.584-0.529c0.792-0.132,1.585,0.133,2.377,0c0.396,0,0.792-0.396,1.188-0.264 c2.113,0.527,8.981,5.019,9.906,4.887c0.396,0,4.49-1.981,4.754-2.113C57.876,621.536,58.537,621.536,59.197,621.536L59.197,621.536 z").attr(attr);; world.Spain = rsr.path(" M194.57,552.728c0.924,0.396,1.981,0.63.434,4.754c-,0,0.792,0 c0.661,0.133,1.453,0.133,1.849,0.528c0.66,0.528,0.264,1.717,0.924,2.113v0.132C190.74,552.066,190.476,553.916,194.57,552.728 L194.57,552.728z").attr(attr); var current = null; for(var country in world) { (function (st, country) { country = country.toLowerCase(); st[0].style.cursor = "pointer"; st[0].onmouseover = function () { st.animate({fill:"#808080", stroke: "#ccc"}, 500); }; st[0].onmouseout = function () { st.animate({fill: "#C0C0C0", stroke: "#666"}, 500); st.toFront(); R.safari(); }; st[0].onclick = function () { st.animate({width: "500px"}, 'slow');//THS DOES NOT WORk }; })(world[country], country); } });
誰かが私にこれを行う方法を手伝ってくれますか?
..
質問する
888 次
1 に答える
0
パスが実際には所有していない「width」属性を設定しようとしています。進む方法は、「transform」属性をここのように設定することです。スケーリングするパスはゼロを中心としないため、スケーリングの原点を設定する必要がある場合もあります(変換メソッドのRaphaelのスケールの中心を参照)。
于 2012-10-05T14:22:59.690 に答える