2016-12-22 13 views
0

CSSの背景属性の省略表現の使い方は不思議です。 jqueryを使用して既存のイメージを上書きしたいが運がないようにしたい。 私は以下のようなものを持っている:cssのボディー背景の略語

body { 
    background-image: url('../images/bg-dark.jpg'); 
    background-repeat:no-repeat; 
    background-position: center center; 
    background-attachment:fixed; 
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover; 
    background-size: cover; 
    background-color: #464646; 
} 

のjQuery:

$('body') 
    .css('background', 'assets/images/bg-white.jpg') 
    .css('background-repeat', 'no-repeat'); 
    .css('background-position', 'center center'); 
    .css('background-attachment', 'fixed'); 
    .css('background-size', 'cover'); 
+2

everylineから(セミコロン)を削除して最後に置いてください。また、最初の行のパスだけでなく、URL( 'path')を使用してください。 –

+0

@AhmadAsjad、はい! LOL私は ';'感謝仲間 – claudios

答えて

6

.css('background', 'assets/images/bg-white.jpg')は間違っています。任意の文字列をCSS background(またはbackground-image)プロパティに割り当てることはできません。あなたはまた、セミコロンを悪用している

.css('background', 'url(assets/images/bg-white.jpg)') 

:あなたはそれをURLを割り当てる必要があります。個々の行ではなく文全体を終了します。あなたのチェーン.cssコールはセミコロンで終わることはできません。セミコロンがチェーン全体の最後に必要です。

+0

これに気付かなかった。また、URL文字列のアポストロフィは省略可能であることに注意してください。 "これは私が最初にやったことです"( "assets/images/bg-white.jpg)" '' 'は' '"と同じですurl( 'assets/images/bg-white.jpg') "' ' –

1

あなたは、このような画像のプロパティを設定することができます

$("p").css({"background": "url('link_of_image')", "width": "400px"}); 

$(function() { 
 
    
 
    $('#img').css(
 
    { 
 
     "background": "url('https://imge.com/wp-content/uploads/2013/07/773_3701590-1920x1080.jpg')", 
 
     "width": "600px" 
 
    } 
 
); 
 
    
 
})
#img { 
 
    height: 300px; 
 
    width: 300px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="img"> 
 
    
 
</div>

・ホープ、このことができます:

はちょうどこのようなjQueryのcss()メソッドを経由してプロパティを渡します!

+0

しかしイメージは 'url'が足りないcozをロードしません。 – claudios