2016-09-13 7 views
0

ボタンの背景色をより暗くするために、ボタンの背景色を動的に変更できるように、いくつかのJSコードがあります。jqueryでボックスシャドウの色のみを変更する方法

私のコードは機能しますが、ホバーで変更するにはbox-shadowの値が必要で、私のコードは影の色ではなくプロパティ全体を変更しています。

$("input[type=submit]").each(function() { 
    //get button color 
    var btnclr = $(this).css("background-color"); 
    //make darker 
    $(this).css({ 
     "box-shadow": "0 -3px 7px " + LightenDarkenColor(rgb2hex(btnclr), -80) + " inset" 
    }); 
}); 
input[type=submit] { 
    cursor: pointer; 
    border-radius: 5px; 
    border: 1px solid #555753; 
    background-color: cor11; 
    font-weight: normal; 
    text-transform: uppercase; 
    box-shadow: 0 -3px 7px #888a85 inset; 
} 
input[type=submit]:hover { 
    box-shadow: 0px 3px 7px #888a85 inset; 
    text-shadow: 0 0; 
} 

私はJSでホバーアニメーションを作ることができます知っているが、CSSは軽く、私はJSでそれをやり直す必要がない好むだろう。

ボックスシャドウプロパティを文字列に変換し、その色部分のみを変更するのはどうでしょうか?

+0

まず、背景色コードが正しくありません。また、ホバー上でボックスの影を変更したいのですが、ホバー上で色を変更しなかった場合、同じ色を使用するとどのように動作するのでしょうか? –

+0

それだけですが、私はホバー上の色を変更したくない、ちょうど影の位置です。 "ボックスシャドウ:0 -3px 7px#888a85 inset"と "box-shadow:0px 3px 7px#888a85 inset"を比較してください。 –

答えて

0

はい、すべてのCSSを入力[type = submit]から入力[type = submit]:hoverに変更します。代わりに、必要なCSSをすべてホバーでもう一度使用してください。

input[type=submit] { 
    cursor: pointer; 
    border-radius: 5px; 
    border: 1px solid #555753; 
    background-color: cor11; 
    font-weight: normal; 
    text-transform: uppercase; 
    box-shadow: 0 -3px 7px #888a85 inset; 
} 
input[type=submit]:hover { 
    cursor: pointer; 
    border-radius: 5px; 
    border: 1px solid #555753; 
    background-color: cor11; 
    font-weight: normal; 
    text-transform: uppercase; 
    box-shadow: 0px 3px 7px #888a85 inset; 
    text-shadow: 0 0; 
} 
+0

私の問題は、 0px 3px 7px "となります。ボタンの背景がJSが暗くなってボックスの影が常によく見える変数であることを見てください。 –

関連する問題