JS与HTML结合实现流程进度展示条思路详解
效果如下:
一、设计思路
分为以下几步(仅供参考)
【竖线线】
这个采用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结合实现流程进度展示条,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
赞 (0)