Так я хочу, чтобы программа JS, чтобы сделать мне макет так:Как сделать настоящую рекурсию в этом случае?
<div class="collection">
<div class="color"></div>
<div class="color"></div>
<div class="color"></div>
</div>
, что я уже сделал это за
var collections = [
{ collection: ["#000", "#222", "#333"] }
]
function saveColors(){
var collection = [];
var colorBlocks = document.getElementsByClassName("colored"),
colSpace = document.getElementById("collection-space"),
firstColor = document.getElementById("first");
var color1 = colorBlocks[0].textContent,
color2 = colorBlocks[1].textContent,
color3 = colorBlocks[2].textContent;
if(firstColor.dataset.first != "true"){
collections.push({collection: [color1, color2, color3]});
console.log(collections);
var collectionBlock = document.createElement('div');
collectionBlock.className = "collection";
var color = document.createElement('div');
color.className = "color";
for(i=0;i<collections.length;i++){
colSpace.appendChild(collectionBlock);
for(x=0;x<collections[i].collection.length;x++){
var collection = document.getElementsByClassName("collection");
collection[i].appendChild(color);
}
}
}
}
JSFiddle: https://jsfiddle.net/jzheh2cf/
Так что есть вещь, которую вы должны знать. Поэтому у меня есть случайный генератор цвета, и он генерирует случайные цвета для 3 блоков в моем макете HTML. И это не главное, это просто информация. Я просто хочу объяснить, что в этих первых строках кода я создаю объект/массив коллекций. Затем я беру innerHTML моих цветовых блоков, чем содержащий шестнадцатеричный цветовой код. Затем я занимаю место, где должен быть размещен этот макет (colSpace = document.geti("collection-space")
). И когда я создаю макет, я хочу иметь 3 цвета в одной коллекции, как в примере, но я всегда получаю только один. Что мне нужно изменить в collection[i].appendChild(color)
или где-нибудь еще?
Ваш вопрос очень запутан, пожалуйста, сделайте скрипку на https://jsfiddle.net/ и что вы пытаетесь сделать –
Я не вижу, что ваш вопрос связан с «рекурсией» –
@SumamaWaheed Когда Я поместил его внутри по какой-то причине, он не видит мои функции из JavaScript. Но они - главное. Okey, независимо от того, проверьте это: https://jsfiddle.net/jzheh2cf/ – Godje