Di jQuery saya perlu melakukan pernyataan if untuk melihat apakah $ this tidak mengandung kelas '. Terpilih'.
$(".thumbs").hover(function(){
$(this).stop().fadeTo("normal", 1.0);
},function(){
$(this).stop().fadeTo("slow", 0.3);
});
Pada dasarnya ketika fungsi ini dijalankan (di hover) saya tidak ingin melakukan memudar jika kelas '. Dipilih' telah ditambahkan ke div, ini akan berarti bahwa gambar akan berada di opacity penuh untuk menandakan bahwa itu dipilih. Dicari di Google tidak berhasil meskipun pertanyaan sederhana tentang bagaimana menggunakan pernyataan IF ...
.not( ".selected" )
dan itu akan bekerja sama. Hal yang brilian.jQuery memiliki fungsi hasClass () yang mengembalikan true jika ada elemen dalam set yang dibungkus berisi kelas yang ditentukan
Lihatlah contoh penggunaan saya
Ini kode untuk itu
EDIT:
ini hanya tebakan, tetapi apakah Anda mencoba untuk mencapai sesuatu seperti ini ?
Kode jQuery ada di sini-
sumber
Saya pikir penulis sedang mencari:
sumber
$(this).not('.selected').length
sebagai boolean jika Anda benar-benar ingin, tetapi itu sedikit bertele-tele.Saat Anda memeriksa apakah suatu elemen memiliki atau tidak memiliki kelas, pastikan Anda tidak secara tidak sengaja memasukkan titik pada nama kelas:
Setelah lama menatap kode saya, saya menyadari saya telah melakukan ini. Kesalahan kecil seperti ini membutuhkan waktu satu jam untuk mencari tahu apa yang telah saya lakukan salah. Periksa kode Anda!
sumber
Menempatkan if di dalam setiap bagian hover akan memungkinkan Anda untuk mengubah kelas pilih secara dinamis dan hover akan tetap berfungsi.
Sebagai contoh, saya juga melampirkan pengendali klik untuk mengalihkan kelas yang dipilih ke item yang diklik. Lalu aku memunculkan event hover pada item sebelumnya untuk membuatnya menghilang.
sumber
Anda juga dapat menggunakan metode addClass dan removeClass untuk beralih di antara item seperti tab.
misalnya
sumber
Bagaimana kalau alih-alih menggunakan if dalam acara, Anda membatalkan ikatan peristiwa ketika kelas pilih diterapkan? Saya kira Anda menambahkan kelas di dalam kode Anda di suatu tempat, jadi melepas ikatan acara akan terlihat seperti ini:
Satu-satunya downside adalah bahwa jika Anda pernah menghapus kelas yang dipilih dari elemen, Anda harus berlangganan ke acara hover lagi.
sumber