网站首页 > 技术文章 正文
上一回我发了一个可视化大屏的效果视频,很多小伙伴都问我能不能将代码分享出来。鉴于小伙伴的要求,我考虑了一下,现在决定将这个可视化大屏的代码分享出来。新来的小伙伴也可以去我的主页中看我发的效果视频《漂亮的自适应可视化大屏,基于js、echarts插件》。
效果图如下:
那么我接下来也给大家分享一下这个可视化大屏的制作过程。
准备工具:
- Sublime Text编辑器;
- 百度ECharts图标插件;
- 浏览器。
页面布局规划:
首先可以将页面先大体分成两部分,包括看板的顶部标题部分和图表内容区域部分。然后再将图表区域部分再次进行模块划分,此次划分的目的是划分图表的主次布局效果。最后就是将具体的图表展示在各个模块中。
顶部的标题我用到了图片作为背景,这样看起来显得更加有科技感;然后标题区域的元素通过定位的方式放置在相应的位置,添加插件可以根据需求来做取舍。
主内容区域的布局大家可以通过弹性布局来实现左中右布局,这样可以避免采用浮动而带来的不必要的麻烦。中间的大框作为主要内容模块的区域,会在这个区域中展示看板的主要数据;左边的两个框是展示一些稍微次要的内容,剩下的区域则是展示次要内容。这样通过模块的大小即可分出主次,看起来也更加明了。
各个模块规划好了以后,就开始美化面框,突出内容。首先可以给各个模块添加背景色,然后添加文字标题,标题样式可以结合图片来做。再加上一些动态的特效作为装饰。
给主内容区域也加上装饰。
看是进入正题,给主内容添加数据。
接下来就是给左边的两个模块添加图表,这里用到的是柱状的排行图表和自动轮播的饼图。排行图表也加了定时可以自动滚动数据。
其他的次要模块也都加上图表,同时加上一些动态效果。
大家要注意,ECharts的水球图还需要在引入水球图的插件(echarts-liquidfill)才能渲染,否则会报错。
制作一个漂亮的看板大致的流程就是这样的,主要的相关代码如下:
<script>
(function(){
window.over= function (){
let dom=document.getElementById("animation-img");
if(dom.className.indexOf("animation-img")!=-1){
dom.classList.remove("animation-img");
}
};
window.out=function (){
let dom=document.getElementById("animation-img");
if(dom.className.indexOf("animation-img") === -1 ){
dom.classList.add("animation-img");
}
};
let ChartC2=initChartC2();
let ChartR2=initChartR2();
let ChartR3=initChartR3();
let ChartL2=initChartL2();
let ChartL11=initChartL11();
let ChartR11=initChartR11();
let ChartR12=initChartR12();
let ChartR13=initChartR13()
window.onresize = function () {
ChartC2.resize();
ChartR2.resize();
ChartR3.resize();
ChartL2.resize();
ChartL11.resize();
ChartR11.resize();
ChartR12.resize();
ChartR13.resize();
var isFull=!!(document.webkitIsFullScreen || document.mozFullScreen ||
document.msFullscreenElement || document.fullscreenElement
);//!document.webkitIsFullScreen都为true。因此用!!
if (isFull==false) {
document.getElementById('out').style.display="none";
document.getElementById('full').style.display="";
}else{
document.getElementById('out').style.display="";
document.getElementById('full').style.display="none";
}
}
})();
//fullScreen()和exitScreen()有多种实现方式,此处只使用了其中一种
//全屏
function fullScreen() {
var element = document.documentElement;
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
}
}
//退出全屏
function exitFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
</script>
此看板的代码已在github开源,需要源码的小伙伴可以关注我,然后私信给我发“看板源码”,即可获取相关源代码。
写代码不容易,希望小伙伴们点个赞。如果各位小伙伴想和我交流技术的,欢迎大家来找我。
猜你喜欢
- 2024-12-26 小程序echarts和分包使用 小程序echarts动态获取数据
- 2024-12-26 【开源资讯】ECharts 发布第 100 个版本 4.7.0
- 2024-12-26 Vue+Echarts可视化大屏系统前端雷达图设计(附代码)
- 2024-12-26 图形可视化系列之一ECharts瀑布图
- 2024-12-26 目前见过最牛的一个SpringBoot商城项目(附源码)还有人没用过吗
- 2024-12-26 8、echarts 和 chart 对比(必会) echarts和highcharts
- 2024-12-26 echarts架构是如何设计的? echarts技术
- 2024-12-26 快收藏前端干货!antv初识:antv和echarts的对比
- 2024-12-26 数据可视化—Echarts图表应用 数据可视化图表制作工具
- 2024-12-26 基于 Vue3 + ECharts 的拖拽式低代码数据可视化开发平台
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)