Jquery 使用Am图表隐藏/显示和调整问题大小
我在使用一个名为jQuery的插件时遇到了问题。我遇到的问题是,我希望在加载站点时隐藏它,但当单击按钮时,它应该显示出来。我的jQuery设置正确,但单击按钮时,图表不会出现。一开始只要单击按钮,然后调整窗口大小,图表就会神奇地出现并保持不变。所以这似乎是某种缺陷,但我对jQuery还不够精通,还不能肯定地说。以下是jQuery代码:Jquery 使用Am图表隐藏/显示和调整问题大小,jquery,hide,show,show-hide,window-resize,Jquery,Hide,Show,Show Hide,Window Resize,我在使用一个名为jQuery的插件时遇到了问题。我遇到的问题是,我希望在加载站点时隐藏它,但当单击按钮时,它应该显示出来。我的jQuery设置正确,但单击按钮时,图表不会出现。一开始只要单击按钮,然后调整窗口大小,图表就会神奇地出现并保持不变。所以这似乎是某种缺陷,但我对jQuery还不够精通,还不能肯定地说。以下是jQuery代码: $("#button").show(); $("#chartdiv").hide(); $("#button").click(function(){ $
$("#button").show();
$("#chartdiv").hide();
$("#button").click(function(){
$("#chartdiv").toggle();
});
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "none",
"startEffect": "easeOutSine",
"legend": {
"markerType": "circle",
"position": "bottom",
"marginRight": 0,
"autoMargins": false
},
labelsEnabled: false,
"dataProvider": [{
"pictures": "Stock",
"total": 256.9
}, {
"pictures": "3rd Party",
"total": 131.1
}, {
"pictures": "360 Spin",
"total": 115.8
}, {
"pictures": "360 Detail",
"total": 109.9
}, {
"pictures": "No Content",
"total": 132
}],
"valueField": "total",
"titleField": "pictures",
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]%)</span>",
"exportConfig": {
"menuTop": "0px",
"menuItems": [{
"icon": '/lib/3/images/export.png',
"format": 'png'
}]
}
});
$(“#按钮”).show();
$(“#chartdiv”).hide();
$(“#按钮”)。单击(函数(){
$(“#chartdiv”).toggle();
});
var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“馅饼”,
“主题”:“无”,
“startEffect”:“easeOutSine”,
“传奇”:{
“markerType”:“圆圈”,
“位置”:“底部”,
“marginRight”:0,
“自动边缘”:错误
},
labelsEnabled:false,
“数据提供者”:[{
“图片”:“股票”,
“总数”:256.9
}, {
“图片”:“第三方”,
“总数”:131.1
}, {
“图片”:“360度旋转”,
“总数”:115.8
}, {
“图片”:“360细节”,
“总数”:109.9
}, {
“图片”:“无内容”,
“总数”:132
}],
“valueField”:“总计”,
“titleField”:“图片”,
“BallooText:“[[title]]
[[value]]([[percents]]]%”,
“exportConfig”:{
“菜单提示”:“0px”,
“菜单项”:[{
“图标”:“/lib/3/images/export.png”,
“格式”:“png”
}]
}
});
下面是一个例子,看看我在说什么。任何帮助都将不胜感激 AmCharts不知道如何测量它的大小,如果它是隐藏的 您必须告诉它使用以下命令显式更新大小:
chart.handleResize();
答案就在这里:
这是一把经过更新的小提琴:
尽管如此,要考虑到,正如另一个回答所说,这不是一个完整的解决方案,可能会给您带来诸如页边距或轴等其他方面的问题。AmCharts不知道如何测量其隐藏的大小 您必须告诉它使用以下命令显式更新大小:
chart.handleResize();
答案就在这里:
这是一把经过更新的小提琴:
尽管如此,要考虑到,正如另一个回答所说,这不是一个完整的解决方案,并且可能会给您带来诸如利润或轴等其他方面的问题。谢谢您的回复@ernestoalejo 我真的想出了另一个解决办法!我将图表的初始化设置为函数,然后在click事件处理程序中调用该函数
$("#button").show();
$("#chartdiv").hide();
$("#button").click(function(){
$("#chartdiv").toggle();
makeChart();
});
function makeChart() {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "none",
"startEffect": "easeOutSine",
"legend": {
"markerType": "circle",
"position": "bottom",
"marginRight": 0,
"autoMargins": false
},
labelsEnabled: false,
"dataProvider": [{
"pictures": "Stock",
"total": 256.9
}, {
"pictures": "3rd Party",
"total": 131.1
}, {
"pictures": "360 Spin",
"total": 115.8
}, {
"pictures": "360 Detail",
"total": 109.9
}, {
"pictures": "No Content",
"total": 132
}],
"valueField": "total",
"titleField": "pictures",
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]%)</span>",
"exportConfig": {
"menuTop": "0px",
"menuItems": [{
"icon": '/lib/3/images/export.png',
"format": 'png'
}]
}
});
}
$(“#按钮”).show();
$(“#chartdiv”).hide();
$(“#按钮”)。单击(函数(){
$(“#chartdiv”).toggle();
makeChart();
});
函数makeChart(){
var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“馅饼”,
“主题”:“无”,
“startEffect”:“easeOutSine”,
“传奇”:{
“markerType”:“圆圈”,
“位置”:“底部”,
“marginRight”:0,
“自动边缘”:错误
},
labelsEnabled:false,
“数据提供者”:[{
“图片”:“股票”,
“总数”:256.9
}, {
“图片”:“第三方”,
“总数”:131.1
}, {
“图片”:“360度旋转”,
“总数”:115.8
}, {
“图片”:“360细节”,
“总数”:109.9
}, {
“图片”:“无内容”,
“总数”:132
}],
“valueField”:“总计”,
“titleField”:“图片”,
“BallooText:“[[title]]
[[value]]([[percents]]]%”,
“exportConfig”:{
“菜单提示”:“0px”,
“菜单项”:[{
“图标”:“/lib/3/images/export.png”,
“格式”:“png”
}]
}
});
}
! 谢谢您的回复@ernestoalejo 我真的想出了另一个解决办法!我将图表的初始化设置为函数,然后在click事件处理程序中调用该函数
$("#button").show();
$("#chartdiv").hide();
$("#button").click(function(){
$("#chartdiv").toggle();
makeChart();
});
function makeChart() {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "none",
"startEffect": "easeOutSine",
"legend": {
"markerType": "circle",
"position": "bottom",
"marginRight": 0,
"autoMargins": false
},
labelsEnabled: false,
"dataProvider": [{
"pictures": "Stock",
"total": 256.9
}, {
"pictures": "3rd Party",
"total": 131.1
}, {
"pictures": "360 Spin",
"total": 115.8
}, {
"pictures": "360 Detail",
"total": 109.9
}, {
"pictures": "No Content",
"total": 132
}],
"valueField": "total",
"titleField": "pictures",
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]%)</span>",
"exportConfig": {
"menuTop": "0px",
"menuItems": [{
"icon": '/lib/3/images/export.png',
"format": 'png'
}]
}
});
}
$(“#按钮”).show();
$(“#chartdiv”).hide();
$(“#按钮”)。单击(函数(){
$(“#chartdiv”).toggle();
makeChart();
});
函数makeChart(){
var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“馅饼”,
“主题”:“无”,
“startEffect”:“easeOutSine”,
“传奇”:{
“markerType”:“圆圈”,
“位置”:“底部”,
“marginRight”:0,
“自动边缘”:错误
},
labelsEnabled:false,
“数据提供者”:[{
“图片”:“股票”,
“总数”:256.9
}, {
“图片”:“第三方”,
“总数”:131.1
}, {
“图片”:“360度旋转”,
“总数”:115.8
}, {
“图片”:“360细节”,
“总数”:109.9
}, {
“图片”:“无内容”,
“总数”:132
}],
“valueField”:“总计”,
“titleField”:“图片”,
“BallooText:“[[title]]
[[value]]([[percents]]]%”,
“exportConfig”:{
“菜单提示”:“0px”,
“菜单项”:[{
“图标”:“/lib/3/images/export.png”,
“格式”:“png”
}]
}
});
}
!