मुझे कुछ डी 3 अवधारणाओं के आसपास अपने सिर को लपेटने में कठिनाई हो रही है (यह मदद नहीं करता है कि मैं जावास्क्रिप्ट के लिए अपेक्षाकृत नया हूं)। जो मैं करने की कोशिश कर रहा हूं वह एक स्टेटस इंडिकेटर है जो हरा शुरू होता है, धीरे-धीरे पीला मोड़ता है, और फिर धीरे-धीरे लाल हो जाता है। अगर कुछ घटना होती है (बटन प्रेस, संदेश प्राप्त होता है, जो भी हो), मैं चाहता हूं कि सूचक हरे रंग में लौट जाए, संक्रमण को पुनरारंभ करें।समय का उपयोग कर डी 3 में रंग संक्रमण
यहाँ एक सरल उदाहरण (jQuery में) बुनियादी दृश्य प्रभाव (रीसेट करने की क्षमता के बिना) दिखा http://jsfiddle.net/N4APE/
डी 3 में है, मेरा विचार पारित कर दिया मिलीसेकेंड की संख्या के लिए पृष्ठभूमि रंग मैप करने के लिए किया गया था। मैं इस तरह के पैमाने बनाने की कोशिश की:
//10 sec is yellow, 30 sec is red
d3.scale.linear().domain([0, 10000, 30000]).range(["#00ff00", "#ffff00", "#ff0000"]);
लेकिन अब मैं थोड़ा खो रहा हूँ। मैं संक्रमण, tweens, और interpolators के संयोजन के साथ खेल रहा है, लेकिन मुझे लगता है कि कहीं भी नहीं मिल रहा है। यहाँ कुछ दयनीय प्रयास है हो यह http://jsfiddle.net/Ebuwa/
मेरे मुद्दों काम करने के लिए:
- मैं अपने पैमाने पर परिवर्तन की गुजरे मिली सेकंड के संबद्ध करने के लिए कैसे पता नहीं है, और उसके बाद पृष्ठभूमि रंग सेट
- मेरे संक्रमण जब मैं इसे बनाता हूं, तब इसे चलाने लगता है, जब मैं इसे कॉल करता हूं, और यह गलत तत्व पर चलता है।
- मैं सकारात्मक नहीं हूं कि मैंने अपनी अन्य समस्याओं पर विजय प्राप्त करने के बाद इसे हरा रखने के लिए संक्रमण को कैसे रीसेट करना है।
एक अन्य ध्यान दें, मैं बजाय एक svg चक्र या ऐसा ही कुछ का उपयोग कर खुश हो सकता है, लेकिन मैं बस के रूप में गरीब भाग्य एक svg भरने विशेषता जोड़ तोड़ के रूप में मैं एक एचटीएमएल पृष्ठभूमि विशेषता पड़ा है।
धन्यवाद
धन्यवाद एडम! एक और समाधान मेरे साथ रात के मध्य में भी आया, जो कि काफी हद तक स्केल का उपयोग कर रहा था। http://jsfiddle.net/WBAuT/ मैंने बस सेट इंटरवल का उपयोग किया, और मैंने पाया कि अपेक्षाकृत बड़े अंतराल (जैसे 1 सेकंड) का उपयोग करना, लेकिन एक संक्रमण जोड़ना काफी अच्छी तरह से काम करता है। एक बहुत छोटा अंतराल पृष्ठ को थोड़ी देर लगाना प्रतीत होता था। – Denial