echarts拖拽滑块dataZoom-slider自定义样式简单适配移动端

 更新时间:2024年09月13日 11:10:09   作者:无言非影  
在电脑端和移动端的数据展示中,针对移动端的特殊性,进行了一系列优化措施,这篇文章主要介绍了echarts拖拽滑块dataZoom-slider自定义样式简单适配移动端的相关资料,需要的朋友可以参考下

电脑端

移动端

代码片段

    dataZoom: [
      {
        type: 'inside',
        start: 0,
        end: 100
      },
      {
        type: 'slider',
        backgroundColor: '#F2F5F9',
        fillerColor: '#BFCCE3',
        height: 13, // 设置slider的高度为15
        start: 0,
        end: 100,
        right: 60,
        left: 60,
        bottom: 15,
        handleIcon:
          'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z', // 使用类似 axisPointer 的图标
        handleSize: '200%', // 放大按钮
        borderColor: 'none',
        handleStyle: {
          color: '#BFCCE3',
          shadowBlur: 6,
          shadowColor: 'rgba(123, 154, 204, 0.5)',
          shadowOffsetX: 0, // 阴影偏移x轴多少
          shadowOffsetY: 0 // 阴影偏移y轴多少
        },
        // 显示的label的格式化器
        // 20050101 变为 2005\n0101
        labelFormatter: function (index, value) {
          const year = value.slice(0, 4);
          const date = value.slice(4);
          return year + '\n' + date;
        },
        textStyle: {
          fontStyle: 'italic' // 设置字体倾斜
        },
        showDataShadow: false // 隐藏数据阴影
      }
    ]

思路:

  • showDataShadow: false // 隐藏数据阴影
    是把数据预览去掉
  • 移动端不太方便,所以把按钮进行了修改方便用户拖拽。
        handleIcon:
          'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5M36.9,35.8h-1.3z M27.8,35.8 h-1.3H27L27.8,35.8L27.8,35.8z', // 使用类似 axisPointer 的图标
        handleSize: '200%', // 放大按钮
        borderColor: 'none',
        handleStyle: {
          color: '#BFCCE3',
          shadowBlur: 6,
          shadowColor: 'rgba(123, 154, 204, 0.5)',
          shadowOffsetX: 0, // 阴影偏移x轴多少
          shadowOffsetY: 0 // 阴影偏移y轴多少
        },
  • 因为 日期格式是 YYYYMMDD, 手机上显示太长了,这里做了换行处理。
        // 显示的label的格式化器
        // 20050101 变为 2005\n0101
        labelFormatter: function (index, value) {
          const year = value.slice(0, 4);
          const date = value.slice(4);
          return year + '\n' + date;
        },

这里有个坑:labelFormatter

labelFormatter官网说,value在type 为 'category’的时候,是索引值。

但我实际看到的效果不是。

比如我有7000个数据点,每次拖拽的时候,索引index只有200多个,导致我获取不到数据。

因为只想拖拽的时候,格式化显示的label,第二个参数就是当时显示的label,但是文档里没有标出来。
https://echarts.apache.org/zh/option.html#dataZoom-slider.labelFormatter

总结 

到此这篇关于echarts拖拽滑块dataZoom-slider自定义样式简单适配移动端的文章就介绍到这了,更多相关echarts拖拽滑块dataZoom-slider适配移动端内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • window.open打开窗口被拦截的快速解决方法

    window.open打开窗口被拦截的快速解决方法

    下面小编就为大家带来一篇window.open打开窗口被拦截的快速解决方法。觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)

    JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)

    这篇文章主要介绍了JS 逻辑判断不要只知道用 if-else 和 switch,在一些逻辑复杂度的增加,代码中的 if/else 和 switch 会越来越臃肿。本文将带你尝试写出更优雅的判断逻辑,需要的朋友可以参考下
    2020-05-05
  • 详解javascript表单的Ajax提交插件的使用

    详解javascript表单的Ajax提交插件的使用

    本文主要介绍了javascript表单的Ajax提交插件的使用,具有一定的参考价值。下面跟着小编一起来看下吧
    2016-12-12
  • 解决layui弹框失效的问题

    解决layui弹框失效的问题

    今天小编就为大家分享一篇解决layui弹框失效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 微信小程序实现上拉加载功能

    微信小程序实现上拉加载功能

    这篇文章主要为大家详细介绍了微信小程序实现上拉加载功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 原生js编写焦点图效果

    原生js编写焦点图效果

    这篇文章主要为大家详细介绍了原生js编写焦点图效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 原生js实现随机点餐效果

    原生js实现随机点餐效果

    一款十分简单的原生js实现的随机点菜代码,点击点菜按钮随机点取上面菜单的菜品,可根据需求改成自己需要功能,比如说随机点名。感兴趣的朋友来参考实现代码吧
    2019-12-12
  • List the Codec Files on a Computer

    List the Codec Files on a Computer

    List the Codec Files on a Computer...
    2007-06-06
  • JS函数this的用法实例分析

    JS函数this的用法实例分析

    这篇文章主要介绍了JS函数this的用法,实例分析了javascript中this的功能、定义及相关使用技巧,需要的朋友可以参考下
    2015-02-02
  • JS防抖节流函数的实现与使用场景

    JS防抖节流函数的实现与使用场景

    在行走江湖的过程中,会出现很多性能优化的问题来让你手足无措,那么这篇文章主要给大家介绍了关于JS防抖节流函数的实现与使用场景,针对这两个问题来为你答疑解惑,需要的朋友可以参考下
    2021-07-07

最新评论