This time I will bring you js to implement a dynamic process progress display bar. What are the precautions for realizing a dynamic process progress display bar with js. The following is a practical case, let's take a look.
1. Design ideas
Divided into the following steps (for reference only)
【Vertical line】
This is made using the ul list tag, which ensures that it can be added at any time and arranged vertically
【Small circle】
The html tag does not seem to provide a small circle tag. Here, p is added with a radian angle to complete it. If a square p is added with a radian angle equal to the length (or width) of p, a small circle can be realized. The tape is even simpler, just add text directly to p
【Word】
The text is required to follow the small circle, and maintain the same horizontal height as the small circle. Here, position: absolute; set top to complete the layout of the same horizontal height
【dynamic effect】
Needless to say, the dynamic effects of the front-end must be completed by Javascript. Here we mainly need to set two events, namely,
Mouse move event<a href="http://www.php.cn/wiki/1457.html" target="_blank">onmouseover</a>=”on_mous_move(‘info_name_1’)”
Mouse out eventonmouseout=”on_mous_out(‘info_name_1’)”
The main logic is to add ❤ and two spaces before and after the text, and delete the added content
【Notice】
For js, a space is actually 6 characters ";", so you need to pay attention when cutting
. . . . That’s all, here is the source code of the implementation
-------------------------------------------------- ----------------------------------
2. Implement source code
The source code is as follows, for reference only:
<!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 p_info = document.getElementsByName(name)[0]; p_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 p_info = document.getElementsByName(name)[0]; p_info.style.backgroundColor = "#45a0f3"; } </script> <p class="stepInfo"> <ul> <li></li> <li></li> </ul> <p class="stepIco stepIco1" name="info_name_1">1</p> <p class="info info_1" onmouseover="on_mous_move('info_name_1')" onmouseout="on_mous_out('info_name_1')"> <strong name="info_name_1">打开冰箱</strong> </p> <p class="stepIco stepIco2" name="info_name_2">2</p> <p class="info info_2" onmouseover="on_mous_move('info_name_2')" onmouseout="on_mous_out('info_name_2')"> <strong name="info_name_2">把大象放进去</strong> </p> <p class="stepIco stepIco3" name="info_name_3">3</p> <p class="info info_3" onmouseover="on_mous_move('info_name_3')" onmouseout="on_mous_out('info_name_3')"> <strong name="info_name_3">关上冰箱</strong> </p> </p> </body> </html>
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
Angularjs implements image preview upload
vue uses axios and encapsulation
The above is the detailed content of js implements dynamic process progress display bar. For more information, please follow other related articles on the PHP Chinese website!