【发布时间】:2014-01-22 16:25:49
【问题描述】:
在以下代码中,square 对象的重新缩放出错:
单击按钮后(应用 y 比例因子并从我们的 square 中创建一个矩形)对象显示正确,但如果您触摸手柄,则之前的比例值会擦除并再次显示方形。
我希望能够在代码中制作矩形,然后使用句柄统一重新缩放它。 如何解决这个问题?
<html>
<head>
<title></title>
<script src="scripts/raphael.js"></script>
<script src="scripts/raphael.free_transform.js"></script>
</head>
<body>
<button id="btn" onclick="onClick()">apply scale</button>
<script>
var r = Raphael(100, 0 , 300, 400);
var square = r.rect(100,150, 100, 100).attr({ fill: "#aaa", stroke: "black", opacity: 0.5 });
var ft = r.freeTransform(square, {}, function () {});
ft.setOpts({
attrs: { fill: 'white', stroke: '#000' },
drag: false,
keepRatio: ['axisX', 'axisY'],
size: 5,
scale: ['axisX', 'axisY'],
rotate:false
});
function onClick() {
ft.attrs.scale.y = 2;
ft.apply();
}
</script>
</body>
</html>
jsfiddle 是here
【问题讨论】:
-
可以放在 jsfiddle 上吗?
-
@Ian,查看问题更新
-
来自 raw.github 的外部资源不起作用我把它放在代码中查看更新的 js fiddle jsfiddle.net/Z2cqT/1。它给了
setOpts undefined error。除了那个手柄似乎工作正常 -
@eguneys,我重复了你将库复制到源代码区域的技巧,但我有另一个错误:jsfiddle.net/qvatra/Z2cqT/4愚蠢...
标签: javascript html plugins raphael transform