2011-04-12 4 views
5

हमारे पास एक प्रश्नोत्तरी है जिसे हमने फ़्लैश साल पहले विकसित किया था, यह निर्धारित करने के लिए हिट क्षेत्रों का उपयोग किया गया था कि किसी ने छवि के उचित भाग पर क्लिक किया है (लगता है कि 'एनाटॉमी क्विज़')। ये हिट क्षेत्र रूपरेखा के लिए बहुत कठिन थे और रूपरेखा समन्वय डेटा का पुन: उपयोग करने का कोई तरीका नहीं है ...मुझे कैसे पता चलेगा कि क्या मैं किसी वेब पेज पर एक पीएनजी के पारदर्शी या गैर-पारदर्शी भाग पर क्लिक कर रहा हूं?

अब, हम HTML में चीज़ को फिर से करने की कोशिश कर रहे हैं - तो, ​​हमारे पास पृष्ठभूमि छवि है एक मादा और एक पीएनजी जो ज़ेड-ऑर्डर में उच्च बैठता है जिसमें इसका एक हिस्सा पूरी तरह से पारदर्शी होता है, जबकि अन्य भागों में 50% ग्रे होता है। यह छात्र को पढ़ाने के लिए प्रयोग किया जाता है जहां पृष्ठभूमि की छवि पर कुछ है।

मैं उस पीएनजी मास्क परत से डेटा का उपयोग करने के लिए 'क्विज़िंग मोड' में डेटा का उपयोग करने में सक्षम होना चाहूंगा यह निर्धारित करने के लिए कि क्या छात्र सही ढंग से मादा के एक विशिष्ट हिस्से पर क्लिक करता है ... मैं मास्किंग सेट करने के बारे में सोच रहा था 100% पारदर्शिता के लिए पीएनजी (इसलिए छात्र इसे नहीं देखता), लेकिन यदि ब्राउजर जानता था कि वे छवि के सही क्षेत्र (जो मास्क पर 100% पारदर्शी है) पर क्लिक कर रहे थे, तो उन्होंने सही तरीके से क्लिक किया।

एचटीएमएल, सीएसएस, और/या jQuery के साथ इसे पूरा करने के तरीके पर कोई विचार?

उत्तर

5

http://jsfiddle.net/cwolves/GaEeG/2/

C'est देखा!

(आईई में काम नहीं करेगा, और छवि, साइट के रूप में एक ही डोमेन पर हो गया है तो कोई बाहरी छवियों - इसलिए कारण मैं अपने उदाहरण में एक डेटा यूआरआई प्रयुक्त)

(या एक और उबाऊ उदाहरण: http://jsfiddle.net/cwolves/GaEeG)

+0

बिल्कुल सही - और यह भी एक रचनात्मक छवि का उपयोग करता है। –

+0

गैर-स्क्वायर छवि के आगे परीक्षण पर, मुझे समायोजन करना पड़ा - पिक्सेलपॉस गणना को 4 * (mousePos.x + width * mousePos) में समायोजित करने की आवश्यकता होती है।वाई) (यह ऊंचाई थी) और अब http://jsfiddle.net/JKzQN/ –

+0

हूप्स पर उपलब्ध है :) –

1

क्षमा करें, पीएनजी के साथ ऐसा करने का कोई तरीका नहीं है।

आपको किसी अन्य प्रकार का मुखौटा चाहिए, एक HTML छवि मानचित्र सबसे आसान तरीका है, या आपके ब्राउज़र निर्भरताओं के आधार पर, एसवीजी एक विकल्प है।

1

मुझे लगता है कि आपको या तो सर्वर-साइड को संसाधित करने की आवश्यकता होगी, या एक जावास्क्रिप्ट लाइब्रेरी खोजें जो पिक्सेल द्वारा छवि पिक्सेल को डीकोड कर सकती है।

पीएनजी के पारदर्शी हिस्से पर एक क्लिक ईवेंट अभी भी पीएनजी द्वारा कब्जा कर लिया जाता है। यह एक अर्द्ध पारदर्शी पीएनजी के लिए काफी अनजान है जो किसी और चीज से ज़ेड-इंडेक्स किया गया है, लेकिन यह मानक व्यवहार है।

1

मेरा पहला विचार जावास्क्रिप्ट में किया जा सकता छवि नक्शे बनाने के लिए था , इस तरह आप क्लिक कर सकते हैं कि क्या क्लिक किया जाता है।

इसके अलावा मुझे कोई जानकारी नहीं है और मुझे नहीं लगता कि आप इसे पीएनजी पर सीधे क्लिक के साथ कर सकते हैं।

+0

मुझे कल्पना है कि एक HTML छवि मानचित्र, जबकि एकमात्र विचार होने के नाते मैं भी सोच सकता हूं, प्रश्नोत्तरी के उद्देश्य को हरा सकता है। यह व्यक्ति को संभव विकल्पों के माध्यम से प्रश्नोत्तरी टैब पर ले जाने की अनुमति देगा, या माउस को घुमाकर चारों ओर शिकार कर सकता है, और संभावित रूप से प्रश्न का हिस्सा खराब कर सकता है। –

+1

मैं उस से थक गया, और समाधान हड्डी के सभी हिस्सों के लिए छवि मानचित्र होना है, और संभवतः जावास्क्रिप्ट कर्सर को नियंत्रित करने के साथ, और शायद धोखाधड़ी को रोक सकता है। आसान नहीं है लेकिन आईएमओ यह संभव है। – jackJoe

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