2009-10-15 15 views
5

ब्राउज़र में, मैं यह निर्धारित करने की कोशिश कर रहा हूं कि माउस स्थिति का प्रतिनिधित्व करने वाला बिंदु "बाहरी क्षेत्र" कहलाता है या नहीं। उदाहरण के लिए, संलग्न छवि में, बाहरी क्षेत्र नीली पृष्ठभूमि वाला एक है।यह निर्धारित करना कि माउस की स्थिति ब्राउज़र के किनारों के पास है

alt text http://i34.tinypic.com/r8grwz.png

कोड और छवि डब्ल्यू में, ब्राउज़र के व्यूपोर्ट की चौड़ाई का प्रतिनिधित्व करता है, जबकि एच ऊंचाई, और एक्स, माउस की स्थिति के लिए y का प्रतिनिधित्व करता है

अभी, मैं इस का उपयोग कर रहा कोड करने का कोड:

if (((x>0 && x<w1) || (x>w2 && x<W)) 
    || 
    ((x>w1 && x<w2) && 
     ((y>0 && y<h1) || (y>h2 && y<H)) 
    )) 
    console.log("we are in the outer area") 

हालांकि यह काम करता है, लेकिन मुझे आश्चर्य है कि क्या इसका कोई बेहतर तरीका है?

+0

क्या मैं आपसे पूछ सकता हूं कि आप क्या करने जा रहे हैं? क्या यह किसी प्रकार का "किनारों पर स्क्रॉल" चीज है जैसे अधिकांश आरटीएस गेम्स में? –

+0

नहीं। पृष्ठ माउस के साथ स्क्रॉल नहीं करेगा। ऐसा लगता है कि जब माउस बाहरी क्षेत्र में होता है तो मैं कुछ डेटा सेट अप करना चाहता हूं। – ivb

उत्तर

5

आपको यह जांचने की आवश्यकता नहीं है कि यह 0 से अधिक और डब्ल्यू से कम है, क्योंकि सूचक x स्थिति डब्ल्यू से 0 या उससे कम नहीं हो सकती है। यह वाई अक्ष पर लागू होता है। निम्नलिखित पर्याप्त होना चाहिए:

if((x>w2 || x<w1) || (y>h2 || y<h1)){ 
    console.log("We are in the outer area"); 
} 
4

आप एक DIV (बुलाया outer) में अपने पूरे पृष्ठ लपेट सकते हैं और फिर hover घटना से कनेक्ट।