2012-08-03 19 views
8

मुझे अपने आवेदन में एक एसवीजी मिला।jQuery एनिमेट एसवीजी तत्व

<svg id="gt" height="450" width="300" xmlns="http://www.w3.org/2000/svg"> 
<image id="1_dice" x="0" y="420" height="30" width="30" xlink:href="images/1_coin.png" /> 
</svg> 

मुझे '1_dice' नामक एक svg तत्व मिला। एक HTML बटन क्लिक में मैं पैरामीटर के अनुसार तत्व को एनिमेट करना पसंद करूंगा। जैसा

$('#btn').click(function(){ 
    $('#1_dice').animate({'x':200},2000); 
}); 

मैं इस कोशिश की, लेकिन यह काम नहीं कर रहा है ...

+1

यदि पृष्ठ का DOCTYPE एचटीएमएल 5 नोट नहीं है कि आईडी को एक पत्र से शुरू होना चाहिए। – undefined

+0

उत्तर के लिए धन्यवाद .. मेरा डॉक्टरेट <है DOCTYPE html> मैं नाम "पासा" में भी बदलता हूं। लेकिन काम नहीं कर रहा .. यहां तक ​​कि $ ('# पासा')। छुपाएं(); यह काम कर रहा है .. कृपया मदद करें – ramesh

+0

$ ('# पासा')। छुपाएं(); - यह काम कर रहा है ... लेकिन एनिमेट काम नहीं कर रहा है – ramesh

उत्तर

6

jQuery चेतन HTML तत्वों एनिमेट के लिए है। एसवीजी के लिए आपको jQuery SVG प्लगइन का प्रयास करना होगा। कृपया लिंक का पालन करें - http://keith-wood.name/svg.html

+1

और अधिक होना सटीक, jQuery एनिमेट सीएसएस गुणों को एनिमेट करने के लिए है। कुछ सीएसएस एसवीजी तत्वों, जैसे अस्पष्टता, भरने, स्ट्रोक पर लागू हो सकते हैं। कुछ स्पष्टीकरण के लिए [इस आलेख] देखें (http://www.smashingmagazine.com/2014/11/styling-and-animating-svgs-with-css/)। – Sygmoral

9

प्लगइन के बिना यह संभव है, लेकिन इसमें एक चाल शामिल है। मुद्दा यह है कि x एक सीएसएस संपत्ति नहीं है लेकिन एक विशेषता है, और jQuery.animate केवल सीएसएस गुणों को एनिमेट करता है। लेकिन आप एनीमेशन के लिए अपना खुद का कस्टम व्यवहार निर्दिष्ट करने के लिए step पैरामीटर का उपयोग कर सकते हैं।

foo एक गैर-मौजूदा संपत्ति है जिसका एनिमेटिंग मूल्य हम चरण समारोह में उपयोग करते हैं।

$('#btn').click(function(){ 
    $('#dice_1').animate(
     {'foo':200}, 
     { 
      step: function(foo){ 
       $(this).attr('x', foo); 
      }, 
      duration: 2000 
     } 
    ); 
}); 
+0

यह केवल तभी काम करता है जब आप जो मूल्य देना चाहते हैं वह एक संख्या है, क्योंकि चरण फ़ंक्शन केवल एक संख्या लेता है। –

संबंधित मुद्दे