我正在创建一个有角度的简历,我正在寻找能够直观地量化某些科目的技能水平的东西。我喜欢这里:
我遇到的问题是我不确定我需要谷歌,所以我可以研究我需要的东西。我能找到的最接近的东西称为滑块。我的替代解决方案也是使用评级量表,虽然我不喜欢分离的恒星走这条路线。我更喜欢像照片一样的实线。
答案 0 :(得分:2)
我会尝试使用自定义指令解决您的问题。现在我假设您使用的是@angular,因为您没有指定,但逻辑对所有版本都是可行的。
首先,设置假div滑块模板(@Component):
<div class="skill-slider">
<div class="skill-level" [ngClass]="{low: isLow, med: isMed, high: isHigh}">
</div>
</div
然后你的css可以对应你的变量。因此,您可能需要创建更多变量:
.skill-slider{
width: 100px;
border-radius: 30px;
height: 5px;
background-color: black;
}
.skill-level{
height: 15px;
width: 15px;
border-radius: 20px;
background-color: #4523EF;
position: absolute;
left: 0px;
top: 3px;
}
.low{
left: 20px
}
.med{
left: 50px;
}
.high{
left: 90px;
}
然后在你的控制器中设置变量
...
isMed = true;
isLow = false;
isHigh = false;
...
您的相应课程应该生效,滑块会相应移动。祝你好运!
这是一个你可以玩的小提琴,以使其正确。 https://jsfiddle.net/d1mfua3r/
答案 1 :(得分:1)
我将解决这个问题的方法:找一个好的CCS框架来使用(当我进行角度开发时,我喜欢“Bootstrapp”)。之后再看一些例子。这是让你接近所需要的东西。
制作一个有角度的* ngFor循环浏览主题列表“公共演讲”,“社交媒体”,“麦克风删除”,“打高尔夫球”等。然后在每个ngFor项目中使用此HTML。您可以通过执行{{object.yourtitle}}来使用字符串插值{{}}来获取“打高尔夫球”的值。我正在使用占位符名称,因为您没有发布任何代码
这是w3schools的HTML和CSS示例: https://www.w3schools.com/howto/howto_js_rangeslider.asp
HTML:
<div class="slidecontainer">
<input type="range" min="1" max="100" value="50" class="slider" id="myRange">
</div>
CSS:
.slidecontainer {
width: 100%; /* Width of the outside container */
}
/* The slider itself */
.slider {
-webkit-appearance: none;
width: 100%;
height: 15px;
border-radius: 5px;
background: #d3d3d3;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
}
/* Mouse-over effects */
.slider:hover {
opacity: 1; /* Fully shown on mouse-over */
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 25px;
height: 25px;
border-radius: 50%;
background: #4CAF50;
cursor: pointer;
}
.slider::-moz-range-thumb {
width: 25px;
height: 25px;
border-radius: 50%;
background: #4CAF50;
cursor: pointer;
}
滑块的Javascript:
var slider = document.getElementById("myRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value; // Display the default slider value
// Update the current slider value (each time you drag the slider handle)
slider.oninput = function() {
output.innerHTML = this.value;
}
如果您正在使用angular,那么您可以跳过“document.getElementById”的javascript,而是通过组件中的对象名称和值访问项目。