是echarts中:
我想在注释(2)处通过函数**onclick:function()**修改注释(1)处的全局变量,达到修改注释(3)处的end变量。
问题:**请问function那里的代码应该如何修改?**
或者整个应该如何修改我的代码才可以实现上述效果。
感谢。
var dataAxis =[];
var end = 10 //******这里(1)*******
option = {
title: {
text: ''
},
tooltip : {
trigger: 'axis',
formatter:"第{c4}点信息:<br/>{a0}:{c0}m<br/>{a1}:{c1}m<br/>{a2}:{c2}m<br/>{a3}:{c3}%",
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#6a7985'
},
},
},
toolbox: {
itemGap:20,
itemSize:20,
right:30,
feature: {
restore: {show: true,},
myTool1: {
show: true,
title: '自定义',
icon: 'image://http://echarts.baidu.com/images/favicon.png',
onclick: function (){
end=20; //*****这里(2)*******
}
},
},
},
dataZoom: [
{
type: 'inside',
filterMode:'none',
start:0,
end: end,//******这里(3)******
zoomOnMouseWheel:false,
moveOnMouseMove:false,
},
{
zoomLock:true,
textStyle:false,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '80%',
handleStyle: {
color: '#fff',
shadowBlur: 5,
shadowColor: 'rgba(0, 0, 0, 0.8)',
shadowOffsetX: 2,
shadowOffsetY: 2,
}
},
],
......(后面省略)
https://www.cnblogs.com/yxz-turing/p/4735934.html
应该会对你有帮助哦!
上面想法没问题,3的想法就错了
dataZoom: [
{
type: 'inside',
filterMode:'none',
start:0,
end: ()=> end,//修改为 函数返回结果,而不是初始化赋值
zoomOnMouseWheel:false,
moveOnMouseMove:false,
},
{
zoomLock:true,
textStyle:false,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '80%',
handleStyle: {
color: '#fff',
shadowBlur: 5,
shadowColor: 'rgba(0, 0, 0, 0.8)',
shadowOffsetX: 2,
shadowOffsetY: 2,
}
},
]
如果不想使用函数,那就用代理拦截get请求
dataZoom: [
new Proxy({
type: 'inside',
filterMode:'none',
start:0,
end: end,
zoomOnMouseWheel:false,
moveOnMouseMove:false,
},
{
zoomLock:true,
textStyle:false,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '80%',
handleStyle: {
color: '#fff',
shadowBlur: 5,
shadowColor: 'rgba(0, 0, 0, 0.8)',
shadowOffsetX: 2,
shadowOffsetY: 2,
}
}
, {
get(target, propKey, receiver){
if(propKey == 'end') return end;//修改为 代理拦截
return Reflect.get(target, propKey, receiver);
}
})
]
( function (){
end=20; //*****这里(2)*******
})(),
换成一个自执行函数就行了