基于vue制作简易的柱状图
一般很常见的柱状图,大家都想到用百度echart,如果整个项目就只绘制仅有的一个柱状图,引入echart就有点大材小用了,哈哈哈。
预览地址:https://zuobaiquan.github.io/vue/vueExercise/vue-test/dist/index.html#/bargraph
效果图

代码显示如下:
<template>
<div class="line-chart">
<ul>
<li v-for="(item,index) in dataListArr" :class="item.number>0?'':'position-top'">
<div class="box" :style="{height:item.percentNum*10+'rem'}">
<span class="num">{{item.number}}</span>
</div>
</li>
</ul>
</div>
</template>
export default {
name: 'test',
data(){
return {
dataListArr:[
{'number':10,'percentNum':0},
{'number':-80,'percentNum':0},
{'number':30,'percentNum':0},
{'number':-50,'percentNum':0}
]
}
},
created(){
let maxIndex=0,maxNegative=0,maxPositive=0;
this.dataListArr.forEach(function(v,i){
if (Math.abs(v.number)<=Math.abs(v.number)){
maxIndex=i;
}
if((v.number>0)&&(v.number>maxPositive)){
maxPositive=v.number;
}
if((v.number<0)&&(v.number<maxNegative)){
maxNegative=v.number;
}
});
this.$nextTick(function () {
document.querySelector('.line-chart').style.marginTop=-(maxPositive-maxNegative)/20+'rem';
})
let maxnumber=Math.abs(this.dataListArr[maxIndex].number);
setTimeout(function(){
this.dataListArr.forEach(function(value,index){
value.percentNum=Math.abs(value.number)/maxnumber;
});
console.log(this.dataListArr);
}.bind(this),0)
}
}
$red: #f22323 !default;
$green: #00a000 !default;
$borderColor: #262626 !default;
body{
background: #0d0d0d;
}
.line-chart{
position:absolute;
top:50%;
left:;
right:;
height: 0.05rem;
background: $borderColor;
border-bottom: 1px solid $borderColor;
transform: translateY(-50%);
ul{
display: flex;
justify-content: space-between;
margin: 0 4rem;
li{
text-align: center;
list-style: none;
.box{
position: absolute;
bottom:;
width: 3.5rem;
height:;
background: $red;
text-align: center;
transform: translateX(-50%);
transition: height 1s;
.num{
position: absolute;
top:-1.4rem;
left:;
right:;
display: inline-block;
color: $red;
font-weight:;
font-size: 1.2rem;
line-height:;
}
}
&.position-top{
.box{
top:;
background: $green;
.num{
color: $green;
}
}
}
}
}
}
源码地址https://github.com/zuobaiquan/vue/tree/master/vueExercise/vue-test/src/views/bargraph
基于vue制作简易的柱状图的更多相关文章
- GearCase UI - 自己构建一套基于 Vue 的简易开源组件库
最近 1 ~ 2 月除了开发小程序之外,还一直在继续深入的学习 Vuejs.利用零碎.闲暇的时间整合了一套基于 Vue 的 UI 组件库.命名为 GearCase UI,意为齿轮盒.现在把该项目进行开 ...
- Vue 制作简易计算器
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 基于vue全家桶制作的移动端音乐WebApp
Vue.js 2.0实战项目 基于Vue + Vuex + Vue-router + Webpack 2.0 打造移动端音乐WebAPP,实现了轮播图.音乐推荐.歌手列表.音乐搜索.注册等功能. 技术 ...
- 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何
基于 Vue.js 之 iView UI 框架非工程化实践记要 像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...
- 一个基于vue的时钟
前两天写了一个基于vue的小钟表,给大家分享一下. 其中时针和分针使用的是图片,结合transform制作:表盘刻度是通过transform和transformOrigin配合画的:外面的弧形框框,啊 ...
- 基于 Vue.js 2.0 酷炫自适应背景视频登录页面的设计『转』
本文讲述如何实现拥有酷炫背景视频的登录页面,浏览器窗口随意拉伸,背景视频及前景登录组件均能完美适配,背景视频可始终铺满窗口,前景组件始终居中,视频的内容始终得到最大限度的保留,可以得到最好的视觉效果. ...
- 基于Vue开发的门户网站展示和后台数据管理系统
基于Vue的前端框架有很多,这几年随着前端技术的官方应用,总有是学不完的前端知识在等着我们,一个人的精力也是有限,不可能一一掌握,不过我们学习很大程度都会靠兴趣驱动,或者目标导向,最终是可以以点破面, ...
- 从开发一款基于Vue技术栈的全栈热重载生产环境脚手架,我学到了什么
浏览文章前 这一期,我分享给大家三点看源码的小技巧,这也是从别的大佬那总结的. 被反复使用的代码 这样的代码是一个软件的重点函数,一个大神的写法有很多精华值得学习. 穿越时间的代码 如果一段代码10年 ...
- 【转】基于laravel制作APP接口(API)
这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件 ...
随机推荐
- JavaScript中的各种X,Y,Width,Height
在JavaScript DOM编程中,会接触很多很多很多关于浏览器的宽高,屏幕的宽高,元素的各种宽高,以及鼠标的坐标等,常常让人搞混.索性就写篇博客整理一下. case 1:鼠标的坐标 获取鼠标的坐标 ...
- JEECG SSO kisso
kisso: java 基于 Cookie 的 SSO 中间件 kisso https://gitee.com/baomidou/kisso kisso首页.文档和下载 - 基于 Cookie 的 S ...
- excel vba 不可查看
打击共享工作簿 去掉[允许多用户同事编辑,同事允许工作簿合并]
- gulp项目和webpack项目在浏览器中查看的方式
在存在.git的目录下,按住shift+左键,打开命令行或者使用git Bash Gulp: 输入gulp dev 本地起一个服务器,在项目中找到gulp.js,然后找本地服务器,找到host和por ...
- python之路--内置函数, 匿名函数
一 . 内置函数 什么是内置函数? 就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. 字符串类型代码的执⾏ eval() 执⾏字符串类型的代码. 并返回最终结果( ...
- 在编写wpf界面时候中出现如下错误: 类型引用不明确。至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualStateManager”的类型。请考虑调整程序集 XmlnsDefinition 特性。
wpf中类型引用不明确.至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualState 你是不是用了WPFToolKit?如果是的,那原因 ...
- mobile adaptor & css media query
mobile adaptor & css media query 移动端适配 & 媒体查询 http://cssmediaqueries.com/ device-aspect-rati ...
- 使用ultraiso制作启动盘安装windows操作系统
1. 使用ultraiso制作u盘启动盘 在电脑上安装ultraiso: 启动ultraiso,文件->打开->选中iso镜像文件 菜单栏->启动->写入硬盘映像 a. 便捷启 ...
- java构造器和构建器
本文摘自:https://blog.csdn.net/wh2827991/article/details/79013115 在实例化一个类的过程中,通常会遇到多个参数的构造函数,但如果有些参数是非必需 ...
- 今天开始学习模式识别与机器学习Pattern Recognition and Machine Learning (PRML),章节5.1,Neural Networks神经网络-前向网络。
话说上一次写这个笔记是13年的事情了···那时候忙着实习,找工作,毕业什么的就没写下去了,现在工作了有半年时间也算稳定了,我会继续把这个笔记写完.其实很多章节都看了,不过还没写出来,先从第5章开始吧, ...