Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用Am图表隐藏/显示和调整问题大小_Jquery_Hide_Show_Show Hide_Window Resize - Fatal编程技术网

Jquery 使用Am图表隐藏/显示和调整问题大小

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(){ $

我在使用一个名为jQuery的插件时遇到了问题。我遇到的问题是,我希望在加载站点时隐藏它,但当单击按钮时,它应该显示出来。我的jQuery设置正确,但单击按钮时,图表不会出现。一开始只要单击按钮,然后调整窗口大小,图表就会神奇地出现并保持不变。所以这似乎是某种缺陷,但我对jQuery还不够精通,还不能肯定地说。以下是jQuery代码:

$("#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” }] } }); }
!