视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
JS与HTML结合实现流程进度展示条思路详解
2020-11-27 22:31:14 责编:小采
文档


效果如下:

一、设计思路

分为以下几步(仅供参考)

【竖线线】

这个采用ul的list标签制作,保证了可随时添加,以及纵向排布

【小圆圈】

html标签好像没有提供小圆圈标签,此处采用,div添加弧度角完成,,正方形的div添加弧度等于div的长(或者宽),就能够实现小圆圈。带子就更简单了,,div里直接添加文字即可

【文字】

文字要求紧跟小圆圈,,且与小圆圈保持同一水平高度,此处采用,position: absolute;设置top完成同一水平高度的布局

【动态效果】

前端的动态效果,不用说肯定由Javascript完成,,此处主要需要设置两个事件即,

鼠标移入事件onmouseover=”on_mous_move(‘info_name_1')”

鼠标移出事件onmouseout=”on_mous_out(‘info_name_1')”

主要逻辑就是给文字前加入❤和前后的两个空格,以及删除加入内容

【注意】

一个空格对于js来说其实是6个字符“ ;”,所以在切割的时候需要注意

。。就这么多,下面是实现的源码

--------------------------------------------------------------------------------

二、实现源码

源码如下,仅供参考:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title>一个好看的进度页面</title>
</head>
<body>
<style type="text/css">
 * {
 margin: 0;
 padding: 0;
 list-style-type: none;
 }
 a, img {
 border: 0;
 }
 body {
 background: #f2f2f2;
 font: 12px/180% Arial, Helvetica, sans-serif, "新宋体";
 }
 /* stepInfo */
 .stepInfo {
 position: relative;
 background: #f2f2f2;
 margin: 80px auto auto 100px;
 height: 240px;
 }
 .stepInfo ul {
 /*float: left;*/
 height: 100%;
 width: 0.6em;
 background: #45a0f3;
 }
 .stepIco {
 /*圆形显示*/
 border-radius: 1.4em;
 padding: 0.2em;
 background: #45a0f3;
 text-align: center;
 line-height: 1.4em;
 color: #fff;
 position: absolute;
 width: 1.4em;
 height: 1.4em;
 }
 .stepIco1 {
 left: -0.7em;
 top: -1%;
 }
 .stepIco2 {
 left: -0.7em;
 top: 50%;
 }
 .stepIco3 {
 left: -0.7em;
 top: 95%;
 }
 .stepText {
 color: #666;
 margin-top: 0.2em;
 width: 4em;
 text-align: center;
 margin-left: -1.4em;
 }
 .info {
 /*信息布局及颜色*/
 position: absolute;
 font-size: large;
 color: black;
 margin: 0 0 0 25px;
 width: 200px;
 color: #45a0f3;
 }
 .info_1 {
 top: -1%;
 }
 .info_2 {
 top: 50%;
 }
 .info_3 {
 top: 95%;
 }
</style>
<script type="text/javascript">
 function on_mous_move(name) {
 var info = document.getElementsByName(name)[1];
 var value = info.innerHTML;
 info.innerHTML = " ❤ " + value;
 var div_info = document.getElementsByName(name)[0];
 div_info.style.backgroundColor = "#47009b";
 }
 function on_mous_out(name) {
 var info = document.getElementsByName(name)[1];
 var value = info.innerHTML;
 info.innerHTML = value.substr(13, value.length);
 var div_info = document.getElementsByName(name)[0];
 div_info.style.backgroundColor = "#45a0f3";
 }
</script>
<div class="stepInfo">
 <ul>
 <li></li>
 <li></li>
 </ul>
 <div class="stepIco stepIco1" name="info_name_1">1</div>
 <div class="info info_1" onmouseover="on_mous_move('info_name_1')" onmouseout="on_mous_out('info_name_1')">
 <strong name="info_name_1">打开冰箱</strong>
 </div>
 <div class="stepIco stepIco2" name="info_name_2">2</div>
 <div class="info info_2" onmouseover="on_mous_move('info_name_2')" onmouseout="on_mous_out('info_name_2')">
 <strong name="info_name_2">把大象放进去</strong>
 </div>
 <div class="stepIco stepIco3" name="info_name_3">3</div>
 <div class="info info_3" onmouseover="on_mous_move('info_name_3')" onmouseout="on_mous_out('info_name_3')">
 <strong name="info_name_3">关上冰箱</strong>
 </div>
</div>
</body>
</html>

总结

以上所述是小编给大家介绍的JS与HTML结合实现流程进度展示条,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

下载本文
显示全文
专题