$('.metro_menu_button').data('oldColor', $(this).css('background-color'));
$('.metro_menu_button').hover(function () {
$(this).stop().animate({
backgroundColor: '#303030'
}, 300);
}, function () {
$(this).stop().animate({
backgroundColor: $(this).data('oldColor')
}, 300);
});
タイトルに関しては、上記の jQuery コード (DOM 対応で実行される) がこのエラーを返しています。
Uncaught TypeError: 'in' 演算子を使用して未定義の 'backgroundColor' を検索することはできません
どうしてこれなの?私は何を間違っていますか?
ホバーすると色が変わり、マウスが離れると元の色に戻るボタンを作成しようとしています。値をハードコードすることはできません。これには柔軟性が必要で、古い背景色を覚えておく必要があります。次のコードは問題なく動作しますが、マウスをすばやく出し入れすると、元の色が「忘れられ」ます。
$('.metro_menu_button').hover(function () {
$(this).data('oldColor', $(this).css('background-color'));
$(this).stop().animate({
backgroundColor: '#303030'
}, 300);
}, function () {
$(this).stop().animate({
backgroundColor: $(this).data('oldColor')
}, 300);
});
oldColor
マウスが入るたびにではなく、DOMReadyを保存する必要があります。つまり、最初のコードを使用する必要がありますが、これはエラーをスローしています。私に何ができる?