echarts自动滚动效果(鼠标移入停止滚动,移开继续滚动)

echarts自动滚动效果(鼠标移入停止滚动,移开继续滚动)

(希望能帮助大家实现ecarts的动画效果)
1.效果图:在这里插入图片描述
2.图表建立

this.option = {
        grid: {
          left: "0%",
          right: "3%",
          bottom: "0%",
          top: "5%",
          containLabel: true
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow"
          },
          padding: 10,
          backgroundColor: "rgba(0, 0, 0, .8)"
        },
        dataZoom: [
          {
            // yAxisIndex: 0,
            show: false,
            type: "slider", // 这个 dataZoom 组件是 slider 型 dataZoom 组件
            startValue: 0, // 从头开始。
            endValue: this.end // 一次性展示五个。
          }
        ],
        xAxis: {
          axisLabel: {
            // rotate:45,
            textStyle: {
              color: "#fff",
              fontSize: 12
            },
            formatter: function(value, index) {
              return value.replace(/(.{4})/g, "$1\n");
            }//控制x轴名称过长,实现4字折行
          },
          axisTick: {
            show: false
          },
          axisLine: {
            show: false
          },
          data: this.dataList.xAxis
        },
        yAxis: {
          type: "value",
          axisLine: {
            show: false
          },
          axisTick: {
            show: false
          },
          splitLine: {
            show: false,
            lineStyle: {
              color: "#fff"
            }
          },
          axisLabel: {
            textStyle: {
              color: "#fff",
              fonSize: 12
            }
          }
        },
        series: [
          {
            type: "bar",
            name: "人口",
            barWidth: 30,
            itemStyle: {
              normal: {
                color: "#1890FF"
              }
            },
            label: {
              //图形上的文本标签
              normal: {
                show: true,
                position: "top",
                textStyle: {
                  color: "#fff",
                  fontStyle: "normal",
                  fontFamily: "微软雅黑",
                  fontSize: 13
                }
              }
            },
            data: this.dataList.seriesData
          }
        ]
      }

3.基本思路分析:echarts 实现自动滚动效果,实现思路是利用echarts中option中的dataZoom属性,用定时器控制dataZoom中endValue和startValue变化,每次dataZoom变化都需要setOption重新渲染图表。

 dataZoom: [
      {
        // yAxisIndex: 0,//实现y轴滚动
        show: false,
        type: "slider", // 这个 dataZoom 组件是 slider 型 dataZoom 组件
        startValue: 0, // 从头开始。
        endValue: this.end // 
      }
    ],

鼠标移入是停止定时器,离开继续定时器。
(注:移入是选中图标中的项,而不是图表区域)
4.定时器控制dataZoom代码:

      this.chart.setOption(this.option)
      this.chart.on('mouseover',this.stop)
      this.chart.on('mouseout',this.goMove)
      this.autoMove()
    },
    //自动滚动
    autoMove(){
       //this.dataList.seriesData为柱形图数据
         this.timeOut=setInterval(()=>{
        // clearInterval(this.timeOut)
        // 每次向后滚动一个,最后一个从头开始。
        // if(this.stopMove){ return }
        if (Number(this.option.dataZoom[0].endValue) === this.dataList.seriesData.length-1) {
             this.option.dataZoom[0].endValue = this.end;
             this.option.dataZoom[0].startValue = 0;
        } else {
             this.option.dataZoom[0].endValue =  this.option.dataZoom[0].endValue + 1;
             this.option.dataZoom[0].startValue =  this.option.dataZoom[0].startValue + 1;
        }
        this.chart.setOption(this.option)
    }, 3000);
    },
    //停止滚动
    stop(){
      console.log(11)
      // this.stopMove=true
      clearInterval(this.timeOut)
    },
    //继续滚动
    goMove(){
      console.log(333333)
      //  this.stopMove=false
       this.autoMove()
    }

5.详细实例gitee地址
在这里插入图片描述

  • 8
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: 要取消echarts柱状图的鼠标移入高亮,可以通过设置series中的emphasis属性为false来实现。具体做法如下: ```javascript option = { // 其他配置项 series: [ { // 其他配置项 emphasis: { // 取消鼠标移入高亮 itemStyle: { opacity: 1, }, }, }, ], }; ``` 将emphasis属性的itemStyle中的opacity设置为1,即可取消鼠标移入高亮效果。 ### 回答2: 要取消Echarts柱状图的鼠标移入高亮效果,可以通过设置图表的配置选项来实现。具体的做法如下: 首先,在Echarts初始化代码中找到柱状图的相关配置项。一般情况下,使用Echarts的Bar图表类型来绘制柱状图,可以在相关配置项中找到相应设置。 其次,找到相关的配置项"emphasis",它是用来设置鼠标移入高亮效果的。将其设置为false或者删除该配置项即可取消鼠标移入高亮效果。 最后,更新Echarts图表,并刷新页面即可看到取消了鼠标移入高亮效果的柱状图。 需要注意的是,具体的配置项名称和结构可能因Echarts的版本和使用方式而有所差异,所以在进行设置时,可以参考Echarts官方文档或者应用程序自身的文档以获得更准确的配置项信息。 ### 回答3: 要取消Echarts柱状图的鼠标移入高亮,可以使用Echarts的自定义配置项和事件来实现。具体步骤如下: 1. 在Echarts的配置项中,找到需要取消鼠标移入高亮的柱状图系列(series)部分。 2. 在该系列的配置项中,找到itemStyle属性,该属性用于设置每个数据项(item)的样式。 3. 在itemStyle属性中,可以设置normal属性用于设置正常状态下的样式,例如颜色、边框、透明度等。 4. 在normal属性中,设置emphasis属性为false,即可取消鼠标移入高亮。具体代码如下: ``` itemStyle: { normal: { emphasis: false } } ``` 5. 最后,将修改后的配置项应用到Echarts实例中,即可取消柱状图的鼠标移入高亮效果。 需要注意的是,在取消鼠标移入高亮后,用户无法获取与该柱状图相关的任何交互事件。如果需要在柱状图上添加其他交互效果,可以根据需求进行进一步配置。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值