ここでは、-webkit-gradient
と連携していないjQuery .css()
についての投稿をいくつか見てきましたが、まだ-ms-linear-gradient
、-o-linear-gradient
、linear-gradient
のいずれかが見つかりませんでした。jQueryのバックグラウンドグラデーションの-os -/- ms接頭辞が機能しない?
私は、ColorZillaから直接取られた、ブラウザ間の互換性のために最も一般的なCSSプロパティを使用して、要素の背景グラデーションを#hex
に設定する機能を作成しました。
は、ここで私が話している特定のスニペットを見ます:
$(elem).css({
'background': b,
'background': '-moz-linear-gradient(top, '+a+' 0%, '+b+' 100%)',
'background': '-webkit-gradient(linear, left top, left bottom, color-stop(0%,'+a+'), color-stop(100%,'+b+'))',
'background': '-webkit-linear-gradient(top, '+a+' 0%,'+b+' 100%)',
'background': '-o-linear-gradient(top, '+a+' 0%,'+b+' 100%)', // Breaks execution
'background': '-ms-linear-gradient(top, '+a+' 0%,'+b+' 100%)', // Breaks execution
'background': 'linear-gradient(top, '+a+' 0%,'+b+' 100%)', // Breaks execution
'filter': 'progid:DXImageTransform.Microsoft.gradient(startColorstr=\''+a+'\', endColorstr=\''+b+'\',GradientType=0)'
});
私はときにアクティブ(いずれかをまとめて、または個別に)ことを次の各プロパティに//breaks execution
コメントを配置したブレークは、スクリプトの実行(他の特性、例えばbackground: b
(もちろんb
変数であること)が設定されている。私は絶対にこれがある理由として困惑
を。
これまでのところ私が試してみた:
- 二重引用符の代わりに単一引用符を使用します。
- 可変使用(
+a+
,+b+
)を実際の16進数に置き換える。
私はおそらく、それらの3つの文字がエスケープされなければならないと思っていますか?
これがなぜかを理解するための助けがあれば、大いに感謝します!
+1 - これも私を助けました - ありがとう! – Jeff