Bagaimana saya mendapatkan kursor saya untuk mengubah ikon pemuatan ini ketika sebuah fungsi dipanggil dan bagaimana saya mengubahnya kembali ke kursor normal di javascript / jquery
javascript
jquery
html
ahmet
sumber
sumber
Jawaban:
Dalam penggunaan jQuery Anda:
lalu kembali normal lagi
sumber
$("html,body")
karena badan halaman saya hanya muat setengah dari jendela sehingga kursor masih default saat mengarahkan kursor ke bagian bawah.!important
solusi @ hrabinowitz di bawah iniSeorang kolega menyarankan pendekatan yang menurut saya lebih disukai daripada solusi yang dipilih di sini. Pertama, di CSS, tambahkan aturan ini:
Kemudian, untuk mengaktifkan kursor kemajuan, ucapkan:
dan untuk mematikan kursor kemajuan, ucapkan:
Keuntungan dari pendekatan ini adalah ketika Anda mematikan kursor kemajuan, kursor lain apa pun yang telah ditentukan di CSS Anda akan dipulihkan. Jika aturan CSS tidak cukup kuat untuk mengesampingkan aturan CSS lainnya, Anda dapat menambahkan id ke badan dan ke aturan, atau gunakan
!important
.sumber
Tolong jangan gunakan jQuery untuk ini di 2018! Tidak ada alasan untuk menyertakan seluruh pustaka eksternal hanya untuk melakukan satu tindakan ini yang dapat dicapai dengan satu baris:
Ubah kursor menjadi spinner:
document.body.style.cursor = 'wait';
Kembalikan kursor ke normal:
document.body.style.cursor = 'default';
sumber
Berikut ini adalah cara yang saya pilih, dan akan mengubah kursor setiap kali halaman akan berubah yaitu
beforeunload
sumber
Menggunakan jquery dan css:
HTML:
<div id="element">Click and wait</div>
CSS:
.wait {cursor:wait}
Demo di sini
sumber
div
. Dalam praktiknya, item yang dipilih untuk menampilkan kursor tunggu harus lebih besar dari item yang diklik. Seringkali, yang terbaik untuk ditampilkan di seluruh halaman, seperti pada jawaban yang diterima.Timpa semua elemen tunggal
sumber
Ini akan membuat kursor pemuatan sampai panggilan ajax Anda berhasil.
sumber
success
dancomplete
dihapus di jQ3, jadi Anda harus pergi dengan$.ajax(...).always(...);
Kursor progess dapat diatur dalambeforeSend
fungsinya.jQuery:
$("body").css("cursor", "progress");
kembali lagi
$("body").css("cursor", "default");
Murni:
document.body.style.cursor = 'progress';
kembali lagi
document.body.style.cursor = 'default';
sumber
Anda tidak membutuhkan JavaScript untuk ini. Anda dapat mengubah kursor menjadi apa pun yang Anda inginkan menggunakan CSS:
Lihat di sini untuk dukungan browser karena ada beberapa perbedaan kecil bergantung pada browser
sumber
Berikut hal menarik lainnya yang bisa Anda lakukan. Tentukan fungsi yang akan dipanggil sebelum setiap panggilan ajax. Juga tetapkan fungsi untuk dipanggil setelah setiap panggilan ajax selesai. Fungsi pertama akan mengatur kursor tunggu dan fungsi kedua akan menghapusnya. Mereka terlihat seperti berikut:
sumber
Jika menyimpan terlalu cepat, coba ini:
sumber
Menyetel kursor untuk 'body' akan mengubah kursor untuk latar belakang halaman tetapi tidak untuk kontrol di atasnya. Misalnya, tombol akan tetap memiliki kursor biasa saat diarahkan ke atasnya. Berikut ini yang saya gunakan:
Untuk menyetel kursor 'tunggu', buat elemen gaya dan masukkan di kepala:
Kemudian untuk memulihkan kursor, hapus elemen gaya:
sumber
Saya menemukan bahwa satu-satunya cara agar kursor menyetel ulang gayanya secara efektif kembali ke gaya sebelum diubah ke gaya tunggu adalah dengan menyetel gaya asli di lembar gaya atau di tag gaya di awal halaman, setel kelas objek yang dimaksud dengan nama gaya. Kemudian setelah masa tunggu, Anda menyetel gaya kursor kembali ke string kosong, BUKAN "default" dan kembali ke nilai aslinya seperti yang ditetapkan di tag gaya atau lembar gaya Anda. Menyetelnya ke "default" setelah masa tunggu hanya mengubah gaya kursor untuk setiap elemen ke gaya yang disebut "default" yang merupakan penunjuk. Itu tidak mengubahnya kembali ke nilai semula.
Ada dua syarat untuk membuat ini berhasil. Pertama Anda harus mengatur gaya di lembar gaya atau di header halaman dengan tag gaya, BUKAN sebagai gaya sebaris dan kedua adalah menyetel ulang gayanya dengan menyetel gaya tunggu kembali ke string kosong.
sumber