javascript - 如何制作这个 Gauge 微分 Angular ?

标签 javascript jquery html css

我正在为仪表板创建径向仪表。以下代码是我的工作。 我需要知道如何使起始 Angular 为 15 度以及如何使结束 Angular 为 165 度。请帮助我。 我需要实现这个系统,所以期待完成这项工作。 我还需要在此添加刻度线。我该怎么做?我正在尝试为此使用 Chart JavaScript,所以请指导我该怎么做?

问候。

body {
  background: #fff;
  
}

#radial:before {
  background: yellowgreen;
  border-radius: 220px 220px 0 0;
  /* box-shadow: 3px 1px 8px rgba(2, 1, 1, 0.15) inset; */
  content: "";
  height: 100px;
  position: absolute;
  width: 350px;


}

#radial {
  border-radius: 400px 400px 0 0;
  height: 100px;
  margin: 50px auto 0;
  overflow: hidden;
  position: relative;
  width: 200px;
  
}

#radial:after {
  background: rgb(255, 255, 255);
  border-radius: 140px 140px 0 0;
  bottom: 0;
  box-shadow: 3px 1px 8px rgba(0, 0, 0, 0.15);
  /* color: rgba(255, 80, 0, 0.7); */
  content: "";
  font-family: Lato, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 3.5em;
  font-weight: 100;
  height: 70px;
  left: 30px;
  line-height: 95px;
  position: absolute;
  text-align: center;
  width: 140px;
  
}

#needle {
  background: radial-gradient(black, red);
  border-radius: 8px;
  bottom: -4px;
  /* box-shadow: 3px -1px 4px rgba(0, 0, 0, 0.4); */
  display: block;
  height: 8px;
  position: absolute;
  width: 100px;
  transform-origin: 100% 4px;
  transform: rotate(0deg);
  transition:4s ;
  z-index: 2;
  /* border-top-left-radius: 5px;
  border-top-right-radius: 5px; */
  clip-path: polygon(100% 0%, 0% 50%, 100% 100% );
  
}

#radial:hover span {
  transform: rotate(180deg);
}

/* h1,
p,
strong {
  display: block;
  font-family: Lato;
  text-align: center;
}

h1 {
  margin-bottom: 0.1em;
}

p {
  margin-top: 0;
}

strong {
  color: #be1e1e;
  font-size: 2.5em;
} */
<html>
    <head>
        <tite></tite>

        <link rel="stylesheet" href="GaugeCss_last.css">
        <!-- <script type="text/javascript"></script> -->
        <script type="text/javascript" src="js/jquery-3.4.1.js"></script>
    </head>

    <head>
        
    </head>

    <body>
            <div id="radial" data-value="0">
            <span id="needle" value="8"></span>
            </div>
        
        
    </body>
    <script>

    </script>
</html>

最佳答案

请检查您是否需要这个

body {
  background: #fff;
  
}

#radial:before {
  background: yellowgreen;
  border-radius: 220px 220px 0 0;
  /* box-shadow: 3px 1px 8px rgba(2, 1, 1, 0.15) inset; */
  content: "";
  height: 100px;
  position: absolute;
  width: 350px;


}

#radial {
  border-radius: 400px 400px 0 0;
  height: 100px;
  margin: 50px auto 0;
  overflow: hidden;
  position: relative;
  width: 200px;
  
}

#radial:after {
  background: rgb(255, 255, 255);
  border-radius: 140px 140px 0 0;
  bottom: 0;
  box-shadow: 3px 1px 8px rgba(0, 0, 0, 0.15);
  /* color: rgba(255, 80, 0, 0.7); */
  content: "";
  font-family: Lato, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 3.5em;
  font-weight: 100;
  height: 70px;
  left: 30px;
  line-height: 95px;
  position: absolute;
  text-align: center;
  width: 140px;
  
}

#needle {
  background: radial-gradient(black, red);
  border-radius: 8px;
  bottom: -4px;
  /* box-shadow: 3px -1px 4px rgba(0, 0, 0, 0.4); */
  display: block;
  height: 8px;
  position: absolute;
  width: 100px;
  transform-origin: 100% 4px;
  transform: rotate(15deg);
  transition:4s ;
  z-index: 2;
  /* border-top-left-radius: 5px;
  border-top-right-radius: 5px; */
  clip-path: polygon(100% 0%, 0% 50%, 100% 100% );
  
}

#radial:hover span {
  transform: rotate(165deg);
}

/* h1,
p,
strong {
  display: block;
  font-family: Lato;
  text-align: center;
}

h1 {
  margin-bottom: 0.1em;
}

p {
  margin-top: 0;
}

strong {
  color: #be1e1e;
  font-size: 2.5em;
} */
<html>
    <head>
        <tite></tite>

        <link rel="stylesheet" href="GaugeCss_last.css">
        <!-- <script type="text/javascript"></script> -->
        <script type="text/javascript" src="js/jquery-3.4.1.js"></script>
    </head>

    <head>
        
    </head>

    <body>
            <div id="radial" data-value="0">
            <span id="needle" value="8"></span>
            </div>
        
        
    </body>
    <script>

    </script>
</html>

关于javascript - 如何制作这个 Gauge 微分 Angular ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59099309/

相关文章:

javascript - 每个图像加载后触发函数

html - 受浏览器屏幕分辨率更改影响的元素定位

javascript - 如何使用 JavaScript 添加点下划线

html - 将全屏尺寸图像作为自定义元素中的背景

javascript - JavaScript 是否支持像 Python 一样的数组/列表解析?

javascript - 如何在取消选中后获取所有选中的复选框

javascript - jQuery 绑定(bind)一个不同的 this

javascript - 使用 JQuery 将动态生成的输入字段添加到 JSON 对象中

javascript - 对象属性名称作为变量

javascript - localStorage SET 仅限一天