Como Definir o Cursor de 'Aguarde' para Toda a Sua Página HTML
Resposta Rápida
Para exibir o cursor de espera em todo o seu site HTML, você precisa definir a propriedade cursor
do elemento body
para wait
. Você pode fazer isso utilizando a seguinte regra CSS:
body { cursor: wait; }
Este método permite que você substitua o cursor padrão por um ícone de espera para toda a página, informando aos usuários que um processamento ou carregamento está em andamento. Implementar esse comportamento não requer JavaScript—é uma solução simples e eficaz.
Alterações Dinâmicas de Cursor
Em algumas situações, pode ser necessário alterar dinamicamente o cursor, por exemplo, durante requisições Ajax. Isso pode ser feito utilizando jQuery ou JavaScript puro.
Usando jQuery
Se você prefere jQuery, pode adicionar uma classe wait
ao elemento html
quando a requisição Ajax começa e removê-la assim que o processamento estiver concluído. Aqui está um exemplo:
$(document).on("ajaxStart", function() {
$('html').addClass('wait');
}).on("ajaxStop", function() {
$('html').removeClass('wait');
});
Certifique-se de incluir a regra CSS correspondente:
html.wait, html.wait * {
cursor: wait !important;
}
Com essa abordagem, o cursor de espera será exibido durante a duração das requisições Ajax, e !important
permitirá que ela substitua outros estilos de cursor.
Usando JavaScript Puro
Se você prefere trabalhar sem jQuery, ainda é possível mudar o cursor utilizando JavaScript puro:
document.addEventListener('ajaxStart', function() {
document.documentElement.classList.add('wait');
});
document.addEventListener('ajaxStop', function() {
document.documentElement.classList.remove('wait');
});
Ao usar esse CSS, você obterá o mesmo resultado que com jQuery.
Considerando a Experiência do Usuário
Ao mudar o cursor para wait
, é importante não obstruir a capacidade do usuário de interagir com a página. Evite bloquear elementos de controle enquanto os dados estão sendo carregados.
Lidando com Compatibilidade de Navegadores e Alternativas
Se você está usando jQuery, tenha em mente a necessidade de suportar versões mais antigas. Teste seu código em diversos navegadores para prevenir falhas inesperadas devido a problemas de compatibilidade.
Explorando o Manuseio de Conteúdo Complexo
Ao trabalhar com iframes ou plugins, lembre-se de que esses elementos podem não seguir os estilos da página pai. Você pode precisar definir o cursor individualmente para cada um deles.
Lidando com Páginas Curtas
Algumas páginas podem ter uma estrutura onde seu conteúdo não preenche toda a tela. Nesses casos, é recomendado estender os elementos body
ou html
para a altura total da janela:
html, body {
min-height: 100%;
}
Dessa forma, o cursor de espera ainda será exibido, mesmo que não haja conteúdo na tela.
Visualização
Mudar o cursor na sua página pode ser comparado a cobrir um pomar inteiro com uma rede espessa:
Seu Pomar: [🍎🍐🍊🍋🍌] Rede: [🔗🔗🔗🔗🔗]
A rede cobre o pomar:
🌐⌛: [⌛🍎🍐🍊🍋🍌]
Como resultado, todo o pomar está seguramente coberto pela rede. Da mesma forma, o cursor de espera será representado ao longo de toda a página.
Mergulhando em Detalhes: Casos de Uso Adicionais
Usando um Div de Máscara
Outra abordagem para exibir o cursor de espera é usar um div de máscara:
<div class="mask" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; cursor: wait;"></div>
Esse método funciona bem para bloquear temporariamente a entrada do usuário enquanto certas operações estão sendo executadas.
Suportando Interatividade do Usuário
Se você deseja permitir a interação com partes específicas da página durante a espera, pode definir o cursor padrão para determinados elementos:
.interactive-div {
cursor: default;
}
Isso manterá partes da página acessíveis para ações dos usuários.
Recursos Úteis
- cursor - CSS: Cascading Style Sheets | MDN — uma descrição detalhada da propriedade
cursor
na documentação do MDN. - cursor | CSS-Tricks — dicas e exemplos da propriedade
cursor
no site CSS-Tricks. - Propriedade cursor do CSS — uma demonstração interativa no W3Schools mostrando o uso do cursor
wait
. - Introduzindo os Novos Estilos de Cursor no CSS3 — SitePoint — um artigo da SitePoint sobre os novos recursos de cursor no CSS3.
- Propriedade: readyState do documento - Web APIs | MDN — informações sobre o estado de carregamento do documento no MDN, úteis para sincronizar o cursor com o estado de carregamento da página.
- Evento: load da janela - Web APIs | MDN — informações sobre o evento de carregamento da janela no MDN.