1
当翻译raphael元素并在翻译结束时更改填充渐变(如可能会显示对象被选中时)时,会出现奇怪的行为。如果该对象只是“点击”(不翻译或拖动)的梯度变化工作正常。当对象翻译时,渐变看起来不正确。当元素被翻译时,渐变填充不会按预期的方式显示
问题在代码中可以看出:
var paper = Raphael('page', '100%', '100%');
var blocks = paper.set();
var base = {"fill": "90-#aaa:5-#fff:95"}
var selected = {"fill": "90-#a99:5-#faa:95"}
var r = paper.rect(10 + 200, 10, 100, 50, 10).attr(base);
r.drag(
function(dx, dy) {
this.translate(dx-this.ox,dy-this.oy);
this.ox = dx;
this.oy = dy;
},
function(x, y) {
this.ox = 0;
this.oy = 0;
},
function() {
r.attr(selected);
}
);
的jsfiddlehttp://jsfiddle.net/gnarlybear/Lr5fz/
- 拖动箱子下来,它原来多为灰
- 重新启动脚本,单击框和他似乎是正确的梯度
- 重新启动,将框拖动到 它变成r编辑
这是应该如何工作(也许梯度应用到更广泛的领域)?如果是这样,拖动元素时如何显示渐变显示?
谢谢你,我是比较新的js的所以有时它是一个很大的帮助刚刚知道的问题是真实的。我将不得不更深入,但可能不会很快。 – Jeff 2012-01-12 13:01:44