क्या सरल तरीके से पूरे html पृष्ठ पर कर्सर को 'प्रतीक्षा' में सेट करना संभव है? उपयोगकर्ता को यह दिखाने के लिए विचार है कि कुछ हो रहा है जबकि एक अजाक्स कॉल पूरा हो रहा है। नीचे दिए गए कोड ने मेरे द्वारा किए गए प्रयासों का सरलीकृत संस्करण दिखाया है और उन समस्याओं को भी प्रदर्शित करता है जो मैं चलाता हूं:
- यदि किसी तत्व (# id1) में कर्सर शैली सेट है, तो यह शरीर पर एक सेट को अनदेखा करेगा (स्पष्ट रूप से)
- कुछ तत्वों में एक डिफ़ॉल्ट कर्सर शैली (ए) है और होवर पर प्रतीक्षा कर्सर नहीं दिखाया जाएगा
- सामग्री के आधार पर बॉडी एलिमेंट की एक निश्चित ऊंचाई होती है और यदि पृष्ठ छोटा होता है, तो कर्सर पाद के नीचे नहीं दिखाई देगा
कसौटी:
<html>
<head>
<style type="text/css">
#id1 {
background-color: #06f;
cursor: pointer;
}
#id2 {
background-color: #f60;
}
</style>
</head>
<body>
<div id="id1">cursor: pointer</div>
<div id="id2">no cursor</div>
<a href="#" onclick="document.body.style.cursor = 'wait'; return false">Do something</a>
</body>
</html>
बाद में संपादित करें ...
इसके साथ फ़ायरफ़ॉक्स और IE में काम किया:
div#mask { display: none; cursor: wait; z-index: 9999;
position: absolute; top: 0; left: 0; height: 100%;
width: 100%; background-color: #fff; opacity: 0; filter: alpha(opacity = 0);}
<a href="#" onclick="document.getElementById('mask').style.display = 'block'; return false">
Do something</a>
इस समाधान के साथ (या सुविधा) समस्या यह है कि यह अतिव्यापी div के कारण क्लिक को रोक देगा (धन्यवाद किबी)
बाद में बाद में संपादित करें ...
डोरवर्ड से एक सरल समाधान:
.wait, .wait * { cursor: wait !important; }
और फिर
<a href="#" onclick="document.body.className = 'wait'; return false">Do something</a>
यह समाधान केवल प्रतीक्षा कर्सर दिखाता है, लेकिन क्लिक की अनुमति देता है।