2.9 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| 587d7fa8367417b2b2512bc9 | Aggiornare dinamicamente l'altezza di un elemento | 6 | 301493 | update-the-height-of-an-element-dynamically |
--description--
Le sfide precedenti hanno spiegato come visualizzare i dati presi da un array e come aggiungere classi CSS. Puoi combinare queste lezioni per creare un semplice grafico a barre. Puoi farlo in due passaggi:
-
Creare un
divper ogni data point nell'array -
Dare ad ogni
divun'altezza dinamica, usanto una funzione callback nel metodostyle()che imposta un'altezza pari al valore del dato
Ricordati il formato per impostare uno stile usando una funzione callback:
selection.style("cssProperty", (d) => d)
--instructions--
Aggiungi il metodo style() al codice nell'editor per impostare la proprietà height per ogni elemento. Usa una funzione callback per restituire il valore del data point con la stringa px aggiunta ad esso.
--hints--
Il primo div dovrebbe avere un'height di 12 pixel.
assert($('div').eq(0)[0].style.height === '12px');
Il secondo div dovrebbe avere un'height di 31 pixel.
assert($('div').eq(1)[0].style.height === '31px');
Il terzo div dovrebbe avere un'height di 22 pixel.
assert($('div').eq(2)[0].style.height === '22px');
Il quarto div dovrebbe avere un'height di 17 pixel.
assert($('div').eq(3)[0].style.height === '17px');
Il quinto div dovrebbe avere un'height di 25 pixel.
assert($('div').eq(4)[0].style.height === '25px');
Il sesto div dovrebbe avere un'height di 18 pixel.
assert($('div').eq(5)[0].style.height === '18px');
Il settimo div dovrebbe avere un'height di 29 pixel.
assert($('div').eq(6)[0].style.height === '29px');
L'ottavo div dovrebbe avere un'height di 14 pixel.
assert($('div').eq(7)[0].style.height === '14px');
Il nono div dovrebbe avere un'height di 9 pixel.
assert($('div').eq(8)[0].style.height === '9px');
--seed--
--seed-contents--
<style>
.bar {
width: 25px;
height: 100px;
display: inline-block;
background-color: blue;
}
</style>
<body>
<script>
const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];
d3.select("body").selectAll("div")
.data(dataset)
.enter()
.append("div")
.attr("class", "bar")
// Add your code below this line
// Add your code above this line
</script>
</body>
--solutions--
<style>
.bar {
width: 25px;
height: 100px;
display: inline-block;
background-color: blue;
}
</style>
<body>
<script>
const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];
d3.select("body").selectAll("div")
.data(dataset)
.enter()
.append("div")
.attr("class", "bar")
.style('height', d => `${d}px`)
</script>
</body>