2

bodyRails アプリのタグの背景画像を変更しようとしています。私はitems.js.coffee(itemsというテーブルがあります)とapplication.jsから試しました。どちらからでも機能させることはできません。

背景色を変更しようとしましたが、application.js からは機能しますが、items.js.coffee からは機能しません。

私の質問は次のとおりです。背景画像を変更するにはどうすればよいですか?また、CSS のすべての変更を application.js から行う必要がありますか?

items.js.コーヒー:

$ ->
    $(document).ready ->
        if something
            $("body").css "background-image", "url(rails.png)"

bootstrap_and_overrides.css.less:

body { 
    padding-top: 60px;
    background-color: black;
    background-image:url('HypeTrans.png');
    background-repeat:no-repeat;
    background-attachment:fixed;
    background-position: 50% 50%;
}
4

3 に答える 3

3

最も可能性の高い説明は、アセット パイプラインを使用している場合は、レイアウトまたは application.js に items.js ファイルを含めていないことです。

開発モードで、レンダリングされたページのソースを表示*し、items.js がページに含まれていることを確認します。そうでない場合、Rails 3.1 以降を使用していると仮定すると、マニフェストにファイルを追加する方法については、 Asset Pipeline Rails Guideを確認することをお勧めします。

  • 開発モードでは、application.js マニフェストのファイルが個別に含まれているため、アセット パイプラインを使用しているかどうかに関係なく機能するはずなので、これをお勧めします。

アップデート

これに関連して、アセット パイプラインから提供されるアセットを参照している場合、それらは /assets の下に表示されるため、コードは

$("body").css "background-image", "url('/assets/rails.png')"
于 2012-11-29T13:43:02.693 に答える
0

これを試すことができるように、javascript で css コードを記述する方法の 1 つを示しています。

$(function(){
    if(something){
        $("body").css({
            'background-image':'url(path of the image)'
        })
    }
})

このようにcssを書くことができます

于 2012-11-29T13:53:31.887 に答える
0

で background-image を background に変更しないのはなぜですか

bootstrap_and_overrides.css.less

だから、このように見えるようにします

body { 
padding-top: 60px;
background-color: black;
background:url('HypeTrans.png');
background-repeat:no-repeat;
background-attachment:fixed;
background-position: 50% 50%;

}

于 2012-11-29T14:02:14.633 に答える