2010-11-23 5 views
8

.css()でフォールバックを行う適切な方法は何ですか?これはフォントフォールバックに最も一般的に使用されますが、カーソルイメージに使用しています。jQuery .css()フォールバック?

$("#dragable").css('cursor','url(images/grabbing.gif), -moz-grabbing, auto'); 

** UPDATE:誰かが私のスターターのための有効なCSSを伝えることができます。ここ

は、私はそれが動作していない得たものは?私が持っているもの

cursor: url(images/grabbing.gif), -moz-grabbing, auto; 

...動作しません。**

+0

フォントフォールバックの場合は、標準のCSSの構文を使用する必要があり、例えば 'jQueryObj.css({のfontFamily: ' "プライマリフォント"、 "フォールバックフォント"、セリフ'});'。他のプロパティは別の問題であり、私はうまくいけば次の答えにそれを残します。 – eyelidlessness

答えて

4

必ずしも良い考えではありません。動的なクラスを考えてみましょう。ドラッグ可能な要素のCSS固有のクラスのどこかに定義してください:

.cur-draggable { cursor: url(images/grabbing.gif), -moz-grabbing, auto; } 

そしてこのクラスをスタイル自体の代わりに追加しようとします。

$("#dragable").addClass('cur-draggable'); 
+0

...これは人生を楽にします。良いアイデア。 – Dave

1

なぜそれを破るが、値がDOMに書き込まれていないことを確認していません。

あなたは同じ結果を得るために、これを行うことができるようにかかわらず、CSS()関数は、実際の要素の「スタイル」属性をインラインで編集するだけのショートカットです:

ダイナミックインラインスタイルを使用して
$("#dragable").attr('style','cursor: url(images/grabbing.gif), -moz-grabbing, auto'); 
+0

これは他のスタイルプロパティを上書きすることに注意してください。 – eyelidlessness

+0

Trueですが、最初にstyle属性の内容を取得して文字列を追加することで、簡単に回避できます。 attr( 'style'、$(this)).attr( 'style')+ 'カーソル:url(images/grabbing.gif)、-moz-grabbing、auto');正確な構文が機能するかどうかはわかりませんが、原則はそこにあります。 – RussellUresti

関連する問題