Chart js несколько круговых диаграмм на одной странице

Я создаю свой сайт портфолио и создаю простой биржевой трекер. Я добавил несколько графиков из Chart.js, но почему-то при выполнении кода отображается только один.

Мне удалось назначить все div'ы и данные динамически, сделав переменные динамическими. Я сделал это, добавив id портфеля в цикл for. Я не могу понять, почему это не работает. Буду признателен за любую помощь.

enter image description here

Почему-то отображается только последний график, а не все три.

У вас есть цикл, и в каждой итерации цикла вы используете window.onload = function() {…};

По сути, вы перезаписываете функцию onload на каждой итерации цикла, поэтому сохраняется только последняя перезапись.

Вы хотите добавить load слушателей событий в окне вместо того, чтобы постоянно перезаписывать один единственный слушатель.

Чтобы достичь этого, я бы рекомендовал заменить следующее:

window.onload = function () {…}

с этим:

window.addEventListener('load', function() {…})`

См. addEventListener

Другой способ увидеть, что window.onload = function () {…} является проблематичным - это следующий фрагмент:

window.onload = function () { alert('one') };
window.onload = function () { alert('two') };

Q: Что, по вашему мнению, должно произойти при загрузке страницы?

A: Аналогично вашему случаю, будет вызвана только вторая функция (оповещающая "два").

Вернуться на верх