$(function(){
var name = new Array();
var value=new Array();
var count = new Array();
$.post(
"BaseAction/SheetAction/ContributeSheetPie",
function(data)
{
name=data.name;
value=data.value;
pie(value,name);
},
"json"
);
$('#show').click(function(){
var i=1;
var pie=document.getElementById('pie');
var bar=document.getElementById('bar');
if(i==1)
{
var count = new Array();
pie.style.display="none";
bar.style.display="block";
$.post(
"BaseAction/SheetAction/ContributeSheet",
function(data)
{
name=data.name;
count=data.count;
bar(name,count);//Uncaught TypeError: bar is not a function
},
"json"
);
i=0;
}
if(i==0)
{
pie.style.display="block";
bar.style.display="none";
$.post(
"BaseAction/SheetAction/ContributeSheetPie",
function(data)
{
name=data.name;
value=data.value;
pie(value,name);//Uncaught TypeError: pie is not a function
},
"json"
);
}
});
});
//---------------------------pie饼形分析图--------------------------------------------------------------------------------
function pie(value,name)
{
// 路径配置
require.config({
paths: {
echarts: '<%=path%>/js/echarts/build/dist'
}
});
require(
[
'echarts',
'echarts/chart/pie',
'echarts/chart/funnel'
],
function (ec)
{
// 基于准备好的dom,初始化echarts图表
var myChart = ec.init(document.getElementById('pie'));
var option = {
title :
{
text: '顾客贡献',
x:'center'
},
tooltip :
{
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend:
{
orient : 'vertical',
x : 'left',
data:name
},
toolbox:
{
show : true,
feature :
{
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType :
{
show: true,
type: ['pie', 'funnel'],
option:
{
funnel:
{
x: '25%',
width: '50%',
funnelAlign: 'left',
max: 1548
}
}
},
restore : {show: true},
saveAsImage : {show: true},
}
},
calculable : true,
series :
[
{
name:"订单数",
type:"pie",
radius : '55%',
center: ['50%', '60%'],
data :value
}
]
};
// 为echarts对象加载数据
myChart.setOption(option);
}
);
};
//---------------------------pie饼形分析图--------------------------------------------------------------------------------
function bar(name,count)
{
// 路径配置
require.config({
paths: {
echarts: '<%=path%>/js/echarts/build/dist'
}
});
// 使用
require(
[
'echarts',
// 使用柱状图就加载bar模块,按需加载
'echarts/chart/line',
'echarts/chart/bar'
],
function (ec) {
// 基于准备好的dom,初始化echarts图表
var myChart = ec.init(document.getElementById('bar'));
var option = {
tooltip: {
trigger:'axis',
},
legend: {
data:['贡献度']
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
xAxis : [
{
type : 'category',
data : name
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
"name":"订单数",
"type":"bar",
"data":count,
markPoint : {
data : [
{type : 'max', name: '最大值'},
{type : 'min', name: '最小值'}
]
},
markLine : {
data : [
{type : 'average', name: '平均值'}
]
}
}
]
};
// 为echarts对象加载数据
myChart.setOption(option);
}
);
};
</script>
![](https://profile-avatar.csdnimg.cn/dceab85447b74f1287b1d0f5a3c1bcbb_liuzhen6835.jpg!4)
jquery中报Uncaught TypeError: pie is not a function
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Go 旅城通票 2015-10-20 02:39关注
你看下上文就知道了,你的$('#show').click(function(){点击事件里面定义了一个pie变量,为dom对象,dom对象又不失方法,当然会报错了
pie(value,name);//Uncaught TypeError: pie is not a function
改为
window.pie(value,name);使用window作用域下的pie函数,而不是click中的pie变量
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵