2016-07-19 7 views
0

Ich benutze neueste JQuery Version 3.0 Animate-Methode, um SVG Circle-Element zu animieren. Dies funktioniert in JQuery-2.2.4. Firefox hat nur dieses Konsolenproblem.JQuery-3.0 Animation Methode mit Radius funktioniert nicht in Firefox

JQuery-3.0 animation

var fx = { 
     _animateCircle: function (element, delayInterval) { 
      var radius = element.attr("r"); 
      var box = $(element)[0].getBoundingClientRect(), 
       centerX = box.left + (box.width/2), 
     centerY = box.top + (box.height/2); 
      var scaleVal; 
      element.delay(delayInterval).each(function() { }).animate({ 
       r: radius 
      }, { 
       duration: 700, 
       step: function (now) { 
        scaleVal = now; 
        $(element)[0].setAttribute("r", scaleVal); 
       } 
      }); 
     } 
    } 

    fx._animateCircle($("circle"), 500) 

beraten Jeder mich zu diesem Thema.

Danke, Bharathi

+0

Was ist das angeblich gewünschte Ergebnis tun werden? – entiendoNull

+0

der Kreis wird animiert kleine Größe zu seiner tatsächlichen Größe. Siehe in IE bowser – Bharathi

Antwort

0

Es gibt nichts in Ihrem Code, um die Animation Staaten sollten von Radius Null (oder einen anderen Wert) starten, es ist so r=50-r=50 Animieren, also keine Animation zu sehen ist. Die Tatsache, dass es bei früheren Versionen von jQuery funktioniert hat, beruhte wahrscheinlich auf fehlerhaftem Verhalten.

können Sie setzen den Radius auf Null, nachdem es auf eine Variable zu speichern:

var radius = element.attr("r"); 
element.attr("r", 0); 

Siehe Beispiel hier: https://jsfiddle.net/p9kbx0r5/

+0

Ich habe eine Lösung aus dem Schlag post. Ihre Lösung löst das Problem in Firefox immer noch nicht. Führen Sie Ihre Fiddle-Link in Firefox .. http://stackoverflow.com/questions/38430148/jquery3-0-throws-error-setting-a-property-that-has-only-a-getter-firefox – Bharathi

+0

Bitte fragen Sie nicht die gleiche Frage mehrmals, es verschwendet die Zeit der Menschen und es ist gegen die Regeln der Website. – Duopixel

Verwandte Themen