私はユーザーが特定のDIVの背景画像を動的に変更できるようにしようとしています。彼らはHTMLフォームを使って画像をアップロードしています。画像がアップロードされると、JQueryを使ってDIVの背景を更新しています。Jqueryは動的に背景画像を置き換えます
私はこの前に何度か聞いたことがありますが、私は背景画像を置き換えることができますが、新しい画像をアップロードして再び変更したい場合は動作しません。
画像は1回しか変更できません。ページを更新しない限り、その後の変更は行われません。
マイDIVが
#background
{
width:450px;
height:200px;
background-color: #FFFFFF;
background-image: url("images/background.png");
background-repeat: no-repeat;
#background-size: contain;
background-size: cover;
}
次のCSSを使用しているロード時DIVは、デフォルトの背景画像を持って、ユーザーは、私は新しいアップロードされたファイルに画像を変更するフォームを介して画像をアップロードして、次のjQueryを使って。
$('#background').css("background-image", "url(" + filename + ")");
filename
は、アップロードされたファイルの名前です。これはすべて正常に動作し、新しい画像が表示されます。
別のファイルをアップロードした場合、ファイルがアップロードフォルダで正しく変更されたことがわかりますが、DIVの背景は変更されません。
私が気付いた事は、最初の変更後にChromeがDIV用のCSSを示しています。 background-image: url(images/bacground.png);
の場合、DIVのスタイルには新しいファイルの名前がバックグラウンドとして割り当てられているように見えます。
バックグラウンドを好きなだけ変更できるようにするにはどうすればよいですか? jqueryのは、常にあなたのCSSファイルからのスタイルよりも高い優先度を持つ要素のインラインスタイルとして、背景画像を設定するためのクロムが、チェックを外すあなたのbackground-image
スタイルを設定することを不思議ではない
おかげ
画像がアップロードされた画像のパスをチェック! –
画像が正しくアップロードされています。画面上で更新していないだけです。 – Tom