Chart js несколько круговых диаграмм на одной странице
Я создаю свой сайт портфолио и создаю простой биржевой трекер. Я добавил несколько графиков из Chart.js, но почему-то при выполнении кода отображается только один.
Мне удалось назначить все div'ы и данные динамически, сделав переменные динамическими. Я сделал это, добавив id портфеля в цикл for. Я не могу понять, почему это не работает. Буду признателен за любую помощь.
Почему-то отображается только последний график, а не все три.
У вас есть цикл, и в каждой итерации цикла вы используете 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: Аналогично вашему случаю, будет вызвана только вторая функция (оповещающая "два").
