Latar Belakang:
jQuery menyediakan kaedah animate() yang berkuasa untuk lancar peralihan pelbagai sifat CSS dari semasa ke semasa. Walau bagaimanapun, percubaan untuk menghidupkan sifat "warna latar belakang" selalunya mengakibatkan ralat "Harta Tidak Sah".
Isu:
Apabila cuba menghidupkan warna latar belakang menggunakan jQuery pada tetikus, anda mungkin menghadapi ini ralat:
$(".usercontent").mouseover(function() { $(this).animate({ backgroundColor: "olive" }, "slow"); });
Penyelesaian:
Untuk menangani isu ini, pemalam warna jQuery perlu dimuatkan, yang menyediakan sokongan untuk menganimasikan pelbagai sifat warna. Begini cara untuk melaksanakannya:
// Include the jQuery color plugin // Animate background color on mouseover using plugin $(".usercontent").mouseover(function() { $(this).animate({ backgroundColor: "olive" }, "slow"); });
Pelaksanaan Plugin:
Pemalam ini meningkatkan kaedah teras jQuery animate() untuk mengendalikan peralihan warna. Ia membolehkan anda menentukan nilai warna dalam pelbagai format, termasuk nama warna RGB, perenambelasan dan CSS. Berikut ialah coretan daripada pemalam:
jQuery.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "color", "outlineColor"], function (f, e) { jQuery.fx.step[e] = function (g) { ... g.elem.style[e] = "rgb(" + [Math.max(Math.min(parseInt((g.pos * (g.end[0] - g.start[0])) + g.start[0]), 255), 0), Math.max(Math.min(parseInt((g.pos * (g.end[1] - g.start[1])) + g.start[1]), 255), 0), Math.max(Math.min(parseInt((g.pos * (g.end[2] - g.start[2])) + g.start[2]), 255), 0)].join(",") + ")" } });
Fungsi langkah ini mengira nilai warna peralihan secara berperingkat, memastikan animasi yang lancar antara warna permulaan dan akhir.
Atas ialah kandungan terperinci Mengapa jQuery's animate() Gagal Menghidupkan Warna Latar Belakang pada Mouseover, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!