İmleci tüm html sayfasında basit bir şekilde 'beklemeye' ayarlamak mümkün müdür? Buradaki fikir, kullanıcıya bir ajax çağrısı tamamlanırken bir şeyler olduğunu göstermektir. Aşağıdaki kod, denediğimin basitleştirilmiş bir versiyonunu gösterir ve ayrıca karşılaştığım sorunları gösterir:
- bir öğe (# id1) imleç stiline sahipse, gövde üzerindeki bir kümeyi yok sayacaktır (açıkçası)
- bazı öğelerin varsayılan bir imleç stili (a) vardır ve fareyle üzerine gelindiğinde bekleme imlecini göstermez
- gövde öğesinin içeriğe bağlı olarak belirli bir yüksekliği vardır ve sayfa kısaysa imleç altbilginin altında görünmez
Test:
<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>
Daha sonra düzenleme ...
Firefox ve IE'de çalıştı:
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>
Bu çözümün (veya özelliğinin) sorunu, örtüşen div nedeniyle tıklamaları engellemesidir (teşekkürler Kibbee)
Daha sonra düzenleme ...
Dorward'dan daha basit bir çözüm:
.wait, .wait * { cursor: wait !important; }
ve sonra
<a href="#" onclick="document.body.className = 'wait'; return false">Do something</a>
Bu çözüm yalnızca bekleme imlecini gösterir ancak tıklamalara izin verir.