The jquery plug-in implements the dashboard for your reference. The specific contents are as follows I made a simple dashboard, which is a common type of meter. It is not difficult to implement, but it requires a little calculation of the position. Achieve resultsCode section*{ margin: 0; padding: 0; } .rel{ display: flex; justify-content:center; align-items:center; position: relative; } .bp{ border-radius:50% ; border: 1px solid lightgray; position:relative; display: flex; justify-content: center; align-items: center; transform: rotate(-45deg); } .kd{ position:absolute; width: 100%; font-size: 12px; } .point{ background-color:lightgray; height: 100px; width: 20px; border-radius:100%; transform: rotate(90deg); transform-origin:10px 0px; z-index: 9; position: absolute; transition: all 0.5s; } .kb{ position: absolute; bottom: 20px; font-size: 24px; color: gray; transition: all 0.5s; } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Make a dashboard</title> <script src="js/jquery-3.4.1.min.js"></script> <script src="js/zgybp.js"></script> <link href="css/zgybp.css" rel="stylesheet" type="text/css" /> <style> #div{ border: 1px solid lightgray; width: 90%; height: 400px; margin: 20px auto; } </style> </head> <body> <div id="div"></div> </body> </html> <script> var temp = zgybp("div"); setInterval(function(){ var f = Math.floor(Math.random()*101); temp.load(f); },700) </script> var zgybp = function(id){ var $id = $("#"+id); $id.addClass("rel"); var a = $id.width()>$id.height()?$id.height():$id.width(); $bp = $("<div class='bp'></div>"); $bp.appendTo($id); $bp.css({ "width":a, "height":a }) //Draw the scale, only draw 3/4 270/100=2.7, each scale is 2.7 for(var i =100;i>=0;i--){ $kd = $("<div class='kd'><span class='txt'>-</span></div>"); if(i%5==0){ $kd.find('.txt').text(i) } $kd.appendTo($bp); $kd.css("transform","rotate("+(i*2.7)+"deg)"); } $point = $("<div class='point'></div>") $point.appendTo($bp) $point.css({ "left":a/2, "top":a/2 }) $kb = $("<div class='kb'>0</div>"); $kb.appendTo($id) //Then turn the dial 1/8 of the angle, it's almost there return{ $id:$id, $bp:$bp, $point:$point, $kb:$kb, load:function(f){ var that = this; f = f<0?0:f>100?100:f; var temp = parseInt(f)*2.7; that.$point.css({ "transform":"rotate("+(90+temp)+"deg)" }) that.draw(f); }, draw:function(f){ var that =this; that.$kb.text(f); } } } Implementation ideas
The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: How to compile and install opencv under ubuntu
>>: MySQL 5.7.17 compressed package installation and configuration method graphic tutorial
Table of contents Design scenario Technical Point...
This article shares the specific code for JavaScr...
This article shares the specific code of node+soc...
Fault description percona5.6, mysqldump full back...
First, let me introduce the meaning of some field...
1. Target environment Windows 7 64-bit 2. Materia...
The webpage displays 403 Forbidden Nginx (yum ins...
Table of contents Preface Preview text Graphics C...
In the previous article, we introduced how to for...
I'll record the problems I encountered during...
Table of contents Problem Description Method 1 (b...
1. Complexity of front-end engineering If we are ...
Table of contents Preface Install vue-i18n Config...
1. Configure local yum source 1. Mount the ISO im...
Table of contents 1. Environmental Installation 2...