Я пытаюсь выяснить, почему холст в моем коде, в данном случае - линейная диаграмма, не появляется снова после toggle()
.
. div
появляется и исчезает при нажатии кнопки «Скрыть».кнопка, которая вызывает функцию toggle()
, но div
пуста, потому что холст не появляется.Когда я делаю ту же диаграмму вне div ".library" и не использую функции toggle()
или hide()
, это работает.
(я использую chart.js - да, у меня естьскачал chart.js, хотя его нет в моем коде ниже)
$(".library").hide();
$("#hide").on("click", () => {
$(".library").toggle();
});
var lineData = {
labels: ["January", "February", "March", "April", "May", "June"],
datasets: [{
fillColor: "rgba(172,194,132,0.4)",
strokeColor: "#ACC26D",
pointColor: "#fff",
pointStrokeColor: "#9DB86D",
data: [186, 156, 251, 144, 305, 236]
}]
}
var line = document.getElementById('line').getContext('2d');
new Chart(line).Line(lineData);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js'></script>
<button id="hide">hide</button>
<div class="library" id="chart">
<canvas id="line" width="600" height="400"></canvas>
</div>