Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JavaScript. Как задать фон блоку картинкой, путь к которой указан в дочернем блоке? (https://javascript.ru/forum/misc/61518-javascript-kak-zadat-fon-bloku-kartinkojj-put-k-kotorojj-ukazan-v-dochernem-bloke.html)

engenes 22.02.2016 01:19

JavaScript. Как задать фон блоку картинкой, путь к которой указан в дочернем блоке?
 
Написал вот такой скрипт но фон вставляется везде одинаковый, а мне нужно чтобы у каждого родителя был фон, путь на который указан у дочернего блока.
Код:
var width = document.documentElement.clientWidth,
  height = width / 3,
  bg = $('.views-field-nothing').find('.views').html();
bg = "url('" +bg+ "')";

$(".views-field-nothing").css('background', bg);
$(".views-field-nothing").css('height', height);
$(".views-field-nothing").css('width', width);



<div class="views-field-nothing">
  <div class="views">http://goodimg.ru/img/tsvetochek-risunok3.jpg</div>
</div>
<div class="views-field-nothing">
  <div class="views">http://agu-shop.ru/images/pink_flower_512x512.png</div>
</div>
<div class="views-field-nothing">
  <div class="views">http://www.raskraska.ru/counting/flower-bw.gif</div>
</div>

dismantled 22.02.2016 05:54

Вы применяете стиль ко всем контейнерам класса пачкой, а нужен цикл перебора контейнеров. Примерно как-то так:

$(".views-field-nothing").each(function(){
  var width = document.documentElement.clientWidth,
    height = width / 3,
    bg = $(this).find('.views').html();
  bg = "url('" +bg+ "')";
  
  $(this).css('background', bg);
  $(this).css('height', height);
  $(this).css('width', width);
});

Посмотреть тут: https://jsfiddle.net/nb5ogsgL/


Часовой пояс GMT +3, время: 01:47.