Laravel-Bootstrap Javascript';s与Chart.js冲突
有人经历过吗 Bootstrap的Laravel-Bootstrap Javascript';s与Chart.js冲突,javascript,laravel,chart.js,Javascript,Laravel,Chart.js,有人经历过吗 Bootstrap的Javascript(用于modals、accordio和其他动画)与我的Chart.js冲突 这是链接,我用的是缩小版。(Chart.min.js) 如果这有帮助,我将为图表显示我的脚本: <script src="{{ asset('js/Chart.min.js') }}"></script> <script> let myChart = document.getElementById('myChart').g
Javascript
(用于modals
、accordio
和其他动画)与我的Chart.js
冲突
这是链接,我用的是缩小版。(Chart.min.js)
如果这有帮助,我将为图表显示我的脚本
:
<script src="{{ asset('js/Chart.min.js') }}"></script>
<script>
let myChart = document.getElementById('myChart').getContext('2d');
let massPopChart = new Chart(myChart, {
responsive: true,
type:'line',
data:{
labels:['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
datasets:[{
label:'Sales',
data:[
500,
304,
601,
670,
912,
612,
500
],
backgroundColor: 'rgba(129, 207, 238, 1)',
borderWidth: 1,
borderColor: '#000',
hoverBorderWidth: 3,
hoverBorderColor: '#000'
}]
},
options:{
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
}
}]
},
title:{
display: true,
text: 'Weekly Sales',
fontSize: 25
},
legend:{
position:'bottom',
display:false,
},
layout:{
padding: 50,
}
}
});
</script>
让myChart=document.getElementById('myChart').getContext('2d');
让massPopChart=新图表(myChart{
回答:是的,
类型:'行',
数据:{
标签:[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”],
数据集:[{
标签:'销售',
数据:[
500,
304,
601,
670,
912,
612,
500
],
背景颜色:“rgba(1292072381)”,
边框宽度:1,
边框颜色:“#000”,
悬停边界宽度:3,
悬停边框颜色:“#000”
}]
},
选项:{
比例:{
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的,
}
}]
},
标题:{
显示:对,
文字:“每周销售”,
尺寸:25
},
图例:{
位置:'底部',
显示:假,
},
布局:{
填充:50,
}
}
});
这是一个具有默认值(用于测试)的折线图。
图表在瞬间消失,正因为如此。我知道这是因为Bootstrap的javascript
每当我为引导程序的javascript
取下script
标记,或者comment
时,图表显示没有任何问题。但是我的模态
和其他动画
现在无法工作
不知何故,我希望它们都能发挥作用,因为我需要它们。这可能是我遇到过的最令人沮丧的问题(bug/feature/problem),我被困了几天,但因为我的老板不接受否定的回答,我讨厌放弃,所以我最终设法解决了它。答案让我想到了一些我不知道的html和javascript:
答案是:
在html文件的
中,您需要更改引导调用的方式,它是app.js
,如下所示:
<script src="{{ asset('js/app.js') }}" defer></script>
删除@TDM提到的defer
属性后,我遇到了同样的问题。我只是通过添加一个DOMContentLoaded事件侦听器来解决这个问题
document.addEventListener("DOMContentLoaded", function () {
new Chart(ctx, {...});
});
document.addEventListener("DOMContentLoaded", function () {
new Chart(ctx, {...});
});