1

jQuery を使用して svg 要素のグラデーションの不透明度をアニメーション化したいのですが、うまくいきません。ただし、ストップカラーのアニメーション化は、同じコードを使用して機能します。

HTML:

<svg>
  <defs>
    <radialGradient id="grad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:white;stop-opacity:1" />
      <stop offset="100%" style="stop-color:white;stop-opacity:0" />
    </radialGradient>
  </defs>
</svg>

jQuery:

$('#someelement').on('click', function(){
  $('stop:eq(1)').css('stop-opacity',1);
});

ここで何が間違っていますか?それとも、stop-opacity は単純にアニメーション化できないのでしょうか?

アップデート I

W3 によると、stop-opacityアニメート可能です。http://www.w3.org/TR/SVG/pservers.html#GradientStops

4

1 に答える 1

0

どうやら、stop-opacity の値は整数ではなく文字列です。

jQuery を .css('stop-opacity','1') に変更すると、動作します。

しかし、奇妙です。

于 2013-09-03T11:34:37.830 に答える