$(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变量
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog