To-Do-List 1.24
by velo_ninja
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dynamic Divs</title>
<style>
</style>
<script>
let counterItem = 1;
function createDiv(id, title, color) {
const div = document.createElement('div');
div.id = id;
div.classList.add('cell');
div.textContent = title;
div.style.backgroundColor = color;
div.style.borderColor = color;
div.style.borderRadius = '2px';
div.style.display = 'flex';
div.style.alignItems = 'center';
div.style.justifyContent = 'center';
return div;
}
function createRow(basicData, parentElement) {
const row = document.createElement('div');
row.classList.add('row');
row.style.display = 'flex'; // Make the row a flex container
for (let i = 0; i < basicData.ids.length; i++) {
const div = createDiv(basicData.ids[i], basicData.titles[i], basicData.colors[i]);
div.style.flexBasis = `${basicData.percentages[i]}%`;
if(div.id==='divCounter') {div.textContent = counterItem; counterItem++}
else if(div.id==='divTitle') {
div.textContent = 'xxx';
div.style.display = 'flex';
div.style.alignItems = 'center';
div.style.justifyContent = 'flex-start';
div.style.padding = '10px';
}
if (parentElement) {parentElement.appendChild(div);}
else {row.appendChild(div);}
}
if (!parentElement) {return row;}
}
function generateRows(data) {
const body = document.body;
for (const [key, value] of Object.entries(data)) {
const row = createRow(value);
body.appendChild(row);
}
}
function createRepeatedBlocks(data1, data2) {
let divMain, divTask, divNote;
for (const key in data1)...