我正在使用Bootstrap 3选项卡进行页面布局,并Chart.js为项目创建甜甜圈图。
但是,当更改为带有图表的选项卡时,图表不会加载。有时,当您开始在谷歌浏览器中检查元素时,它们会加载。它们似乎只有在第一个可见选项卡上加载时才会呈现。
chrome控制台中的chart.js javascript有一个已知错误:
未捕获的IndexSizeError:无法对“CanvasRenderingContext2D”执行“arc”:提供的半径(-0.5)为负。
我认为这是因为Bootstrap将选项卡的可见性设置为“无”,因此图表无法正确呈现或出现其他问题。。。
它应该是这样的:
其他人有过这个问题吗
...或者我应该寻找另一个图表脚本,它可以很好地与Bootstrap选项卡一起使用。
谢谢你提前:)
对我来说,解决办法非常简单。使用最新提交,更新图表。Arc功能如下:
Chart.Arc = Chart.Element.extend({
inRange: function (chartX, chartY) {
var pointRelativePosition = helpers.getAngleFromPoint(this, {
x: chartX,
y: chartY
});
//Check if within the range of the open/close angle
var betweenAngles = (pointRelativePosition.angle >= this.startAngle && pointRelativePosition.angle <= this.endAngle),
withinRadius = (pointRelativePosition.distance >= this.innerRadius && pointRelativePosition.distance <= this.outerRadius);
return (betweenAngles && withinRadius);
//Ensure within the outside of the arc centre, but inside arc outer
},
tooltipPosition: function () {
var centreAngle = this.startAngle + ((this.endAngle - this.startAngle) / 2),
rangeFromCentre = (this.outerRadius - this.innerRadius) / 2 + this.innerRadius;
return {
x: this.x + (Math.cos(centreAngle) * rangeFromCentre),
y: this.y + (Math.sin(centreAngle) * rangeFromCentre)
};
},
draw: function (animationPercent) {
var easingDecimal = animationPercent || 1;
var ctx = this.ctx;
var innerRadius = (this.innerRadius < 0) ? this.innerRadius * -1 : this.innerRadius;
var outerRadius = (this.outerRadius < 0) ? this.outerRadius * -1 : this.outerRadius;
ctx.beginPath();
ctx.arc(this.x, this.y, outerRadius, this.startAngle, this.endAngle);
ctx.arc(this.x, this.y, innerRadius, this.endAngle, this.startAngle, true);
ctx.closePath();
ctx.strokeStyle = this.strokeColor;
ctx.lineWidth = this.strokeWidth;
ctx.fillStyle = this.fillColor;
ctx.fill();
ctx.lineJoin = 'bevel';
if (this.showStroke) {
ctx.stroke();
}
}
});
需要注意的是内半径和外半径上的三元运算符,以防止负值。这就像我的项目上的魅力。图表继续具有响应性,并且通过将半径转换为自然数(即:正数)没有有害影响
我也遇到过这个问题。如果我没记错的话,我是通过在使用< code > showed . bs . tab (http://getbootstrap.com/javascript/#tabs)显示活动选项卡时调用图表js render来解决这个问题的
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
e.target // newly activated tab
//call chart to render here
});
希望这有帮助。
由于这个问题的根源是在引导程序中不显示标签内容,我用一点css技巧解决了这个问题。
.tab-content>.tab-pane {
display: block;
height: 0;
overflow: hidden;
}
.tab-content>.tab-pane.active {
height: auto;
}
我一直在使用Bootstrap3.3。5和轨道4.2。3几天来,我一直试图在我的应用程序中显示图标。我已经成功地启动了jQuery UI,并使用了引导datetimepicker gem,以便在选择日期时可以看到有用的日历。但是,我不知道如何使日历图标出现。 Glyphicons在应用程序/资产/字体/中处于松散状态。JavaScript 只需添加图标,我就完成了!任何帮助都太好了! 应用css
问题内容: 我以前没有使用过任何引导框架。我想在页面的bootstrap 3中包含一些glyphicons。据我了解,它们应该包含在我添加到页面的bootstrap.css文件中。当我查看bootstrap.css文件时,没有看到对它们的引用?尽管文件很大,我可能还是错过了一些东西。 我注意到,当我打开从引导程序3下载的 文件夹时,会有一个单独的文件夹,其中包含名为: 似乎这是字形符号所在的位置,
嗨,我一直在尝试只获得一个引导日期选择器的日期,并且已经能够,但它似乎激发了3次。注意:这不是jquery日期选择器,而是引导日期选择器。 使用此日期选择器:https://github.com/eternicode/bootstrap-datepicker,而不是老的eyecon。一号。 HTML: 除了改变,我还使用了其他一些选项,比如 但这并没有结束日期选择器,希望有一个简单的解决方案。谢谢
我正在尝试将三个引导列居中对齐。我不希望列跨越整行。我认为这会使图像看起来太大,空间不够。这就是为什么我放了三列“col-md-3”。我喜欢这个尺寸的栏目。我只想让这些列居中对齐。我想我可以将类名“justify content md center”应用到行中,它可以工作,但不能工作。有人知道如何使用Bootstrap 3将下面的列居中对齐吗?可能吗? 这是我的密码: 在代码笔上查看它。 谢谢你的
Twitter的Bootstrap 3按钮颜色有限。默认情况下会有 每个按钮有3个状态(默认,活动和禁用) 如何添加更多颜色或创建自定义按钮?Twitter的Bootstrap 2已经回答了这个问题。x:设置twitter引导按钮的样式。引导3不向后兼容。less和css文件中会有很多变化。对IE7的支持将被取消。TB3首先是移动设备。标记代码也将更改。
我正在尝试使用Bootstrap4创建一个表单。但是文件输入的标签溢出了列。我找不到一个方法使它适合这个专栏。有没有一种引导方式或自定义css可以实现这一点? 编辑:很抱歉,我的问题没有得到很好的解释。我所说的标签是指文件输入中的标签。那个isi“选择文件…”。可以看到,图像中输入的文件在右侧溢出。它与其他输入字段不对齐。