2009-01-08 22 views
6

मेरे पास एक लिंक और एक स्पैन के साथ एक डीआईवी है।jQuery पृष्ठभूमि रंग एनीमेशन

लिंक पर क्लिक करते समय, यह AJAX का उपयोग कर आइटम की एक सूची प्रस्तुत करता है। जब कोई आइटम क्लिक किया जाता है, तो स्पैन की सामग्री बदल जाती है।

मैं इस परिवर्तन को हाइलाइट करना चाहता हूं, डीआईवी के पृष्ठभूमि रंग को हरे रंग में सेट करके, और jQuery का उपयोग करके इसे वापस सफेद पर एनिमेट करना चाहता हूं।

var originalColor = elementToUpdate.parentNode.style.backgroundColor; 
    elementToUpdate.style.backgroundColor = 'green'; //lastSender.style.color; 
    jQuery(elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000); 

स्पैन की पृष्ठभूमि 2 पंक्ति पर हरे रंग के लिए बदल जाता है, लेकिन 3 लाइन कुछ भी नहीं है। कोई त्रुटि नहीं, या जो भी बदलती है ...

कोई विचार?


संपादित करें: नीचे एक टिप्पणी में टेड Naleid द्वारा बताया गया है:

यह भी ध्यान रखें कि आप रंग एनिमेशन इस के लिए प्लग इन इंस्टॉल काम करने के लिए (http://plugins.jquery.com/project/color) के लिए है, यदि आपने इसे इंस्टॉल नहीं किया है, तो jQuery रंगों को एनिमेट नहीं कर सकता, केवल संख्यात्मक गुण (कम से कम 1.3.1 के रूप में)।

उत्तर

9

यदि आपके पास पहले से तत्व है तो आपको .id की आवश्यकता नहीं है। jQuery पर सीधे हाथ:

jQuery(elementToUpdate).animate({ backgroundColor: '#ffffff' }, 1000); 

आपको एक त्रुटि क्योंकि elementToUpdate.id एक स्ट्रिंग है, जो jQuery (शायद) एक चयनकर्ता के रूप में व्याख्या है नहीं मिलता है। यह सिर्फ एक चयनकर्ता होता है जो कुछ भी नहीं चुनता है।

वैकल्पिक रूप से, आप कह सकते हैं यह यह एक वैध चयनकर्ता बनाने के लिए:

jQuery('#' + elementToUpdate.id).animate({ backgroundColor: '#ffffff' }, 1000); 

लेकिन मुझे लगता है पहला रूप पसंद किया जाता है के बाद से आप पहले से ही तत्व में ही की है।

+2

यह भी ध्यान दें कि आपके पास काम करने के लिए रंगीन एनिमेशन प्लगइन स्थापित होना आवश्यक है (http://plugins.jquery.com/project/color), अगर आपने इसे इंस्टॉल नहीं किया है, तो jQuery रंगों को एनिमेट नहीं कर सकता , केवल संख्यात्मक गुण (कम से कम 1.3.1 के रूप में)। –

+0

अच्छा बिंदु, ओपी ने इसका जिक्र नहीं किया है इसलिए मैं इसे अपने प्रश्न में जोड़ दूंगा। –

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