$(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>
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变量
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!