Javascript 如何为问卷中的答案创建交互式进度滑块
Javascript 如何为问卷中的答案创建交互式进度滑块,javascript,jquery,html,css,Javascript,Jquery,Html,Css,0-5 6-10 11-15 16-20 20+ 是的,这很简单。我首先要解决的酒吧,你想点燃的进展。对于这个,我将从一个包含div开始 <div class="Progress"></div> 然后我会制作一个进程条,这个进程条会在背景中运行,用点引导它前进 <div class="Progress"> <div class="Progress__glow"></div> </div> 这将遵循包含div的路径
0-5
6-10
11-15
16-20
20+
是的,这很简单。我首先要解决的酒吧,你想点燃的进展。对于这个,我将从一个包含div开始
<div class="Progress"></div>
然后我会制作一个进程条,这个进程条会在背景中运行,用点引导它前进
<div class="Progress">
<div class="Progress__glow"></div>
</div>
这将遵循包含div的路径。更改元素的宽度将更改进程的宽度。比如说
<div class="Progress_glow" style="width: 50%"></div>
然后,您可以在设置光晕宽度百分比的同时,设置通过Javascript传递点的活动状态
CSS工作的一个示例:
显然,您可以看到需要进行一些调整。但这应该给你一个很好的开始 我修改了JosephSmith的codepen.io示例,在单击点将发光线移动到单击点时包含jquery事件: HTML标题:
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
JS:
您至少应该向我们展示您编写的任何代码,以表明您确实尝试过编写这些代码。滑块是什么意思?你说的是滑动导航吗?非常感谢你的回答。就风格而言,这正是我想要的,但问题是我无法向网站添加HTML。它必须使用JavaScript或CSS来完成@Fausto NA很抱歉这么晦涩,这是我第一次在这里发帖。我想和你分享一些代码,但我还是不知道怎么做。
<div class="Progress_glow" style="width: 50%"></div>
.Dot {
position: absolute;
top: -5px;
height: 25px;
width: 25px;
border-radius: 50%;
background: #fff;
}
.Dot--active {
background: lightblue;
}
.Dot--one {
left: 0%;
}
.Dot--two {
left: 25%;
}
.Dot--three {
left: 50%;
}
.Dot--four {
left: 75%;
}
.Dot--five {
left: 100%;
}
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<div class="container">
<div class="Progress">
<span id="dotOne" class="Dot Dot--one Dot--active"></span>
<span id="dotTwo" class="Dot Dot--two"></span>
<span id="dotThree" class="Dot Dot--three"></span>
<span id="dotFour" class="Dot Dot--four"></span>
<span id="dotFive" class="Dot Dot--five"></span>
<div class="Progress__glow" style="width: 0%;"></div>
</div>
</div>
/* You don't need this bit */
.container {
margin: 50px;
}
.Progress {
position: relative;
border-radius: 99em;
width: 600px;
height: 15px;
background: #888;
}
.Progress__glow {
position: absolute;
left: 0px;
top: 0px;
height: 100%;
background: lightblue;
width: 0%;
}
.Dot {
display: block;
position: absolute;
width: 25px;
height: 25px;
top: -5px;
border-radius: 50%;
background: #ccc;
z-index: 2;
}
.Dot--active {
background: lightblue;
}
.Dot--one { left: 0%; }
.Dot--two { left: 25%; }
.Dot--three { left: 50%; }
.Dot--four { left: 75%; }
.Dot--five { left: 98%; }
$('#dotOne').click(function() {
$('.Progress__glow').css('width', '0%');
$('#dotOne').addClass('Dot--active');
$('#dotTwo').removeClass('Dot--active');
$('#dotThree').removeClass('Dot--active');
$('#dotFour').removeClass('Dot--active');
$('#dotFive').removeClass('Dot--active');
});
$('#dotTwo').click(function() {
$('.Progress__glow').css('width', '26%');
$('#dotOne').addClass('Dot--active');
$('#dotTwo').addClass('Dot--active');
$('#dotThree').removeClass('Dot--active');
$('#dotFour').removeClass('Dot--active');
$('#dotFive').removeClass('Dot--active');
});
$('#dotThree').click(function() {
$('.Progress__glow').css('width', '51%');
$('#dotOne').addClass('Dot--active');
$('#dotTwo').addClass('Dot--active');
$('#dotThree').addClass('Dot--active');
$('#dotFour').removeClass('Dot--active');
$('#dotFive').removeClass('Dot--active');
});
$('#dotFour').click(function() {
$('.Progress__glow').css('width', '76%');
$('#dotOne').addClass('Dot--active');
$('#dotTwo').addClass('Dot--active');
$('#dotThree').addClass('Dot--active');
$('#dotFour').addClass('Dot--active');
$('#dotFive').removeClass('Dot--active');
});
$('#dotFive').click(function() {
$('.Progress__glow').css('width', '101%');
$('#dotOne').addClass('Dot--active');
$('#dotTwo').addClass('Dot--active');
$('#dotThree').addClass('Dot--active');
$('#dotFour').addClass('Dot--active');
$('#dotFive').addClass('Dot--active');
});