Saya mencoba menganimasikan perubahan pada backgroundColor menggunakan jQuery pada mouseover.
Saya telah memeriksa beberapa contoh dan saya tampaknya benar, ia bekerja dengan properti lain seperti fontSize, tetapi dengan backgroundColor saya dapatkan dan kesalahan js "Invalid Property". Elemen yang saya kerjakan adalah sebuah div.
$(".usercontent").mouseover(function() {
$(this).animate({ backgroundColor: "olive" }, "slow");
});
Ada ide?
javascript
jquery
colors
jquery-animate
SteveCl
sumber
sumber
rgba(0, 0, 0, 0)
nilai kosong / null yang diharapkan saat tidak ada warna latar yang ditentukan. Untuk "memperbaiki" ini, elemen harus memiliki warna latar belakang awal.Jawaban:
Plugin warna hanya 4kb jauh lebih murah daripada perpustakaan UI. Tentu saja Anda akan ingin menggunakan versi plugin yang layak dan bukan buggy old thing yang tidak menangani Safari dan crash ketika transisinya terlalu cepat. Karena versi yang diperkecil tidak disediakan, Anda mungkin ingin menguji berbagai kompresor dan membuat versi min Anda sendiri . YUI mendapatkan kompresi terbaik dalam hal ini hanya membutuhkan 2317 byte dan karena sangat kecil - ini dia:
sumber
v1
cabang untuk mendapatkan versi yang lama (Yang masih berfungsi) tetapi jauh lebih ringan.Saya memiliki masalah yang sama dan memperbaikinya dengan memasukkan jQuery UI. Ini skrip lengkapnya:
sumber
Lakukan dengan Transisi CSS3. Dukungan luar biasa (semua browser modern, bahkan IE). Dengan Kompas dan SASS ini dengan cepat dilakukan:
CSS murni:
Saya telah menulis artikel berbahasa Jerman tentang topik ini: http://www.solife.cc/blog/animation-farben-css3-transition.html
sumber
Bitstorm memiliki plugin animasi warna jquery terbaik yang pernah saya lihat. Ini merupakan peningkatan pada proyek warna jquery. Ini juga mendukung rgba.
http://www.bitstorm.org/jquery/color-animation/
sumber
Anda dapat menggunakan jQuery UI untuk menambahkan fungsi ini. Anda dapat mengambil apa yang Anda butuhkan, jadi jika Anda ingin menghidupkan warna, yang harus Anda sertakan adalah kode berikut. Saya mendapat if dari jQuery UI terbaru (saat ini 1.8.14)
Ini hanya 1.43kb setelah dikompresi dengan YUI:
Anda juga dapat menghidupkan warna menggunakan transisi CSS3 tetapi hanya didukung oleh peramban modern.
Menggunakan properti steno:
Tidak seperti transisi javascript biasa, transisi CSS3 dipercepat perangkat keras dan karenanya lebih halus. Anda dapat menggunakan Modernizr, untuk mengetahui apakah browser mendukung transisi CSS3, jika tidak maka Anda dapat menggunakan jQuery sebagai cadangan:
Ingat untuk menggunakan stop () untuk menghentikan animasi saat ini sebelum memulai yang baru jika tidak ketika Anda melewati elemen terlalu cepat, efeknya terus berkedip untuk sementara waktu.
sumber
Bagi siapa pun yang menemukan ini. Lebih baik Anda menggunakan versi jQuery UI karena berfungsi di semua browser. Plugin warna memiliki masalah dengan Safari dan Chrome. Kadang hanya berfungsi.
sumber
Anda dapat menggunakan 2 div:
Anda bisa meletakkan klon di atasnya dan memudar yang asli saat memudar.
Setelah pudar, kembalikan yang asli dengan bg baru.
contoh jsFiddle
.toggleClass()
.offset()
.fadeIn()
.fadeOut()
sumber
Saya menggunakan kombinasi transisi CSS dengan JQuery untuk efek yang diinginkan; jelas browser yang tidak mendukung transisi CSS tidak akan bernyawa tetapi itu opsi yang ringan yang bekerja dengan baik untuk sebagian besar browser dan untuk persyaratan saya adalah degradasi yang dapat diterima.
Jquery untuk mengubah warna latar:
CSS menggunakan transisi untuk memudar perubahan warna latar belakang
sumber
Plugin jQuery color hari ini mendukung warna bernama berikut:
sumber
Saya suka menggunakan delay () untuk menyelesaikan ini, berikut ini sebuah contoh:
Ini dapat dipanggil dengan fungsi, dengan "elemen" menjadi elemen kelas / nama / dll. Elemen akan langsung muncul dengan latar belakang # FCFCD8, tahan sebentar, lalu menghilang menjadi #EFEAEA.
sumber
Cukup tambahkan cuplikan berikut di bawah skrip jquery Anda dan nikmati:
Lihat contohnya
Referensi untuk info lebih lanjut
sumber
Saya menemukan halaman ini dengan masalah yang sama, tetapi masalah berikut:
Dengan jawaban di atas, hampir tidak ada jawaban. Mengingat warna pudar saya sangat sederhana, saya menggunakan quick hack berikut:
Di atas membuat div sementara yang tidak pernah ditempatkan dalam aliran dokumen. Saya kemudian menggunakan animasi bawaan jQuery untuk menghidupkan properti numerik dari elemen itu - dalam hal ini
width
- yang dapat mewakili persentase (0 hingga 100). Kemudian, menggunakan fungsi langkah, saya mentransfer animasi numerik ini ke warna teks dengan hex hexacation sederhana.Hal yang sama dapat dicapai dengan
setInterval
, tetapi dengan menggunakan metode ini Anda dapat mengambil manfaat dari metode animasi jQuery - seperti.stop()
- dan Anda dapat menggunakaneasing
danduration
.Jelas itu hanya digunakan untuk memudarkan warna yang sederhana, untuk konversi warna yang lebih rumit Anda harus menggunakan salah satu jawaban di atas - atau kode warna Anda sendiri memudar matematika :)
sumber
Coba yang ini:
Anda dapat mempratinjau contoh di sini: http://jquerydemo.com/demo/jquery-animate-background-color.aspx
sumber
Colokan ColorBlend melakukan apa yang Anda inginkan
http://plugins.jquery.com/project/colorBlend
Ini kode sorot saya
sumber
Jika Anda tidak ingin menghidupkan latar belakang Anda hanya menggunakan fungsionalitas inti jQuery, coba ini:
sumber
Cobalah untuk menggunakannya
sumber
Coba yang ini:
Cara yang direvisi dengan efek:
sumber