. 我对 raphael.js 很陌生。我已经用鼠标完成了一张欧洲地图,我可以在鼠标悬停时改变颜色。但我只想在点击 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
您正在尝试设置路径实际上不具备的“宽度”属性。要走的路是将'transform'属性设置为here。您可能还必须设置缩放原点,因为您要缩放的路径不以零为中心(参见Raphael center of scale in transform method)。
于 2012-10-05T14:22:59.690 回答