0

コード:

var imgurl = 'img/star.png';
$("#venueId-"+nid).css('background','url("'+imgurl+'") no-repeat top right');

これは、クリック時に発生する機能の始まりです。望ましい結果は、画像 ( img/star.png) が div の右上隅に表示されることです。残念ながら、このスクリプトが発生しても何も起こりません。

画像の相対的な位置をダブルチェックしましたが、勾配に背景を変更すると、このコードに問題はありませんでした。

4

3 に答える 3

3

あなたのhtmlは持っていてid="venueId"、あなたは呼んで$("#venueID-")います。また、関数にラップされています...そして、関数をどこでも呼び出しません。

あなたのjsfiddleによると。

だから私はあなたのjsfiddleでこの2つのことを修正したところ、今はうまくいきます...また、幅と高さをhtmlからcssに移動しました。

jsfiddleが更新されました

編集:次のようにjQueryですべてを書いてみることができます:

jsfiddle

または、自分のやり方でやりたい場合は、少し変更します。href で javascript を呼び出す代わりに、onclick を使用することもできます。そしてfoo = function(){}、関数宣言 ( ) の代わりに関数式 ( )を使用しますfunction foo(){}ここにいくつかの詳細があります

jsfiddle

別の方法:

クラスセレクターを介して背景を適用したい場合 (ここでは、URL が css でハードコードされます)、次のようにすることができます (これは実際には、Swordfish0321 が話していることです):

jsfiddle

于 2013-05-14T01:02:13.607 に答える
2

firebug (Firefox) または Inspect Element (chrome) を開き、[Net] タブに切り替えてページを更新すると、'img/star.png' ファイルが正常に読み込まれたかどうかを確認できます。

「404 Not Found」と表示された場合、この画像のパスが間違っています。「403 Forbidden」と表示されている場合、この画像の許可は適切ではありません。nginx/apache ユーザーが読み取れることを確認してください。

于 2013-05-14T00:53:09.520 に答える
1

「このようにすべきだ」と言う人で申し訳ありませんが、CSS の jquery 連結をつなぎ合わせるのではなく。CSS クラスを作成し、jquery で切り替えたい場合があります。これにより、責任を分離しているため、実行がよりクリーンになり、コードがよりテストしやすくなります。

于 2013-05-14T01:22:05.087 に答える