raphael要素を変換して翻訳の最後に塗りつぶし勾配を変更すると、オブジェクトが選択されているように見えることがあります。オブジェクトがちょうど "クリック"されている(変換またはドラッグしていない)場合、グラデーションの変更はうまくいきます。オブジェクトが変換されると、グラデーションは正しく表示されません。要素が変換されたときに勾配塗りが期待どおりに表示されない
問題は、このコードで見ることができ:http://jsfiddle.net/gnarlybear/Lr5fz/
- ドラッグダウンボックス
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); } );
jsfiddle、それはボックスをクリックし、
- 再起動スクリプトを主に灰色になり、彼の勾配は正しいようです
- 再起動し、ボックスを までドラッグすると、r ed
これはどのように動作するのでしょうか(おそらくグラデーションは広い領域に適用されていますか)?もしそうなら、要素をドラッグするときにどのようにグラデーションを表示させることができますか?
はありがとう、私はそう時々ちょうど問題を知るために、その大きな助けが本物であるJSのは比較的新しいです。私は深くダイビングする必要がありますが、おそらく速くないでしょう。 – Jeff