h5制作机能变化折线图-
发布时间:08/01 来源:未知 浏览:
关键词:
通过动态设定内部元素高度 =>
示例1 《script》 function fillLineChart(id) { this.id = id; this.el = document.getElementById(id); this.value = 0;//目前值 this.width = parseInt(this.el.clientWidth) this.last=this.width-1;//从左往右最后一个span的索引 for (var i = 0; i < this.width; i++) {//初始化span this.el.innerHTML +=''; } this.draw = function (value) {//绘制事件 this.value = value;//记载目前值 for (var i = 0; i
2.通过Canvas =>[示例]
示例2 《script》 function fillLineChart(id) { this.id = id; this.canvas = document.getElementById(id); this.value = 0; this.width = (this.canvas.clientWidth)//猎取
绑定宽度
this.height = (this.canvas.clientHeight) //猎取高度宽度 this.context = this.canvas.getContext("2d"); this.values = []; this.last = this.width - 1;//最后一个值的索引 for (var i = 0; i < this.width; i++) {//初始化值 this.values.push(this.height); } this.draw = function (value) { this.value = value;//记录当前值 this.context.clearRect(0, 0, this.width, this.height);//清空 this.context.beginPath();//开辟新的绘制路径 this.context.moveTo(0, this.height);//绘制起点 for (var i = 0; i
3.Canvas加强 =>[示例]
示例3 《script》 function lineChart(o) { this.id = o.id; this.canvas = document.getElementById(o.id); this.color = o.color || 'rgb(0, 255, 255)'; this.value = 0; this.isFull = o.isFull || false;//可否添补色彩 this.canvas.width = this.width = o.width || (this.canvas.clientWidth);//猎取绑定宽度 this.canvas.height = this.height = o.height || (this.canvas.clientHeight);//猎取高度宽度 this.context = this.canvas.getContext("2d"); this.values = []; this.last = this.width - 1;//最后一个值的索引 for (var i = 0; i < this.width; i++) {//初始化值 this.values.push(this.height); } this.draw = function (value) { this.value = value;//记录当前值 this.context.clearRect(0, 0, this.width, this.height);//清空 this.context.beginPath();//开辟新的绘制路径 this.context.moveTo(0, this.isFull ? this.height : this.values[1]);//绘制起点 for (var i = 0; i < this.last; i++) { this.values[i] = this.values[i + 1];//移动索引值 this.context.lineTo(i, this.values[i]);//结束位置 } this.values[this.last] = this.height * (100 - value) / 100;//获取最后索引一个值 this.context.lineTo(this.last, this.values[this.last]);//设置最后一个索引位置 if (this.isFull) { this.context.lineTo(i, this.height);//绘制结束 this.context.fillStyle = this.color;//填充绘制区域的颜色 this.context.fill();//填充 } else { this.context.strokeStyle = this.color; this.context.stroke(); } } } var demo = new lineChart({ id: "demo", width: "74", height: "30", isFull: true, }); var val = 0 setInterval(function () { val = rand(rand(20, 50), 60); document.getElementById('title').innerHTML = `示例(${val})` demo.draw(val); }, 100); function rand(begin, end) { return Math.floor(Math.random() * (end - begin)) + begin; } 《script》
信赖看了本案牍例你已经把握了办法,更多出色请关注 百分百源码网 其它相干文章!
相干浏览:
python3与JS有什么不一样
js/css动态加载JS插件
以上就是h5制作机能变化折线图的细致内容,更多请关注 百分百源码网 其它相干文章!