Laravel 4 を使用して、ユーザーが作成した画像を photos.index ビューに表示しようとしています。以下に示すように、foreach を使用してこれらの画像を表示しています。ただし、高さ300px、幅300pxのボックスに表示したいので、「ボックス」クラスでcssバックグラウンドメソッド「カバー」を使用しています。
ここで、JS を使用して、データベースに挿入された内容に応じてすべてのボックスの背景画像を変更する必要があります。
以下のコードは、次のような結果をもたらします: データベースにあるのと同じ数のボックスが表示されます。ただし、それらはすべて同じ画像、より正確にはデータベース内の最後の画像を持っています。
@foreach(array_chunk($photos->getCollection()->all(), 4) as $row)
<div class="row">
@foreach($row as $photo)
<script type="text/javascript">
$(function(){
var boxes =
document.getElementsByClassName("box");
$(boxes).css('background-image',
'url({{ url('img/user_images/images/'. $photo->source_name) }} )');
});
<article class="col-md-3">
<a href="{{ url('photos/'. $photo->id) }}"><div
id="imagecontainer" class="box"></div></a>
</article>
@endforeach
</div>
@endforeach
今私の質問は: 各ボックスの背景画像を個別に変更するにはどうすればよいですか?
開発者ツールでサイトを開いたときに表示される JavaScript には、表示される画像への正しいリンクがあることを知っておくことが重要です。ただし、すべての div の CSS 背景は、常に DB の最後の画像です。