国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript實現審核流程狀態的動態顯示進度條

2019-11-19 17:09:15
字體:
來源:轉載
供稿:網友

對于有很多流程的東西,我們希望能夠根據不同的階段,用流程條對應地進行顯示,如下所示:

以上功能對應的html代碼如下:

<div class="col-md-12 col-lg-3">    <div class="panel panel-default">     <div class="tit06">      <h3>漏洞處理狀態</h3>     </div>     <div class="status">      <ul>       <li name="__tab_step1_pub" class="top active">         <div class="info" id="tab_step1">         <h4>          <div class="heading"></div>          待審閱</h4>         <p class="text" >漏洞已提交,等待廠商審閱</p>          </div>       </li>       <li name="__tab_step2_pub" >         <div class="info" id="tab_step2">         <h4>          <div class="heading"></div>          待確認</h4>         <p class="text" >漏洞已開始審閱,等待廠商確認</p>         </div>       </li>       <li name="__tab_step3_pub">        <div class="info" id="tab_step3">         <h4>          <div class="heading"></div>          待修復</h4>          <p class="text" >漏洞已被確認,等待廠商修復</p>          </div>       </li>       <li name="__tab_step4_pub">         <div class="info" id="tab_step4">         <h4>          <div class="heading"></div>          已關閉</h4>           <p class="text" >漏洞修復完畢,廠商關閉漏洞</p>         </div>       </li>       <li name="__tab_step5_pub" >         <div class="info" id="tab_step5">         <h4> <div class="heading"></div>          已公開</h4>         <p class="text" >廠商同意公開此漏洞</p>         </div>       </li>      </ul>     </div>    </div>   </div> 

這里采用的方法是根據處理的狀態,這里是$status,對應的在相應的<li>的標簽中增加樣式類  class="active",而樣式類active中實現的是在對應位置替換背景圖片,即將原來的灰色流程線條替換成綠色的流程線條。即需要設置對應的替換后和替換前的css,這里對應的css如下(/assets/default/threatrules/style.css中的一部分):

.status ul { padding: 15px; } .status ul li { overflow: hidden; background: url("../threatrules/steps-line.jpg") repeat-y -3px 0px; padding: 26px 0 0px; } .status .active { background: url("../threatrules/steps-line-over.jpg") repeat-y -3px 0px; } .status .end { background: url("../threatrules/steps-line-over.jpg") repeat-y -3px 0px; } .status .end .heading { background: url("../threatrules/steps-over.jpg") no-repeat 0px 0px; } .status .bottom { background: url("../threatrules/steps-line.jpg") repeat-y -3px 0px; } .status .skip { background: url("../threatrules/steps-line-skip.jpg") repeat-y -3px 0px; } .status .skip .heading { background: url("../threatrules/steps-skip.jpg") no-repeat 0px 0px; } .status .active .heading { background: url("../threatrules/steps-over.jpg") no-repeat 0px 0px; } .status .heading { float: left; width: 20px; height: 20px; background: url("../threatrules/steps.jpg") no-repeat 0px 0px; margin-right: 5px; } .status .top { padding-top: 0px; } .status .bottom { background: url("../threatrules/steps-line-b1.jpg") no-repeat 0px 0px; } .status .bottom-active { background: url("../threatrules/steps-line-b2.jpg") no-repeat 0px 0px; } 

設置好對應的css后,下一步就是編寫js,根據$status的值,在對應的<li>中添加class即可,實現此功能的js代碼如下:

<script type="text/javascript"> /*根據處理狀態,添加或刪除對應的樣式名*/ function addClass(elem, className){ //增加類名   if(!elem.className){       elem.className = className;       return;   }   var clazz = ' ' + elem.className + ' ';   if(clazz.indexOf(' ' + className + ' ') === -1){       elem.className = elem.className + ' ' + className;   } }  var step1 = document.getElementById('tab_step1'),    step2 = document.getElementById('tab_step2'),    step3 = document.getElementById('tab_step3') ,    step4 = document.getElementById('tab_step4'),    step5 = document.getElementById('tab_step5');  var status = '<?php echo $status;?>';  switch(status){    case '1': //待確認      addClass(step2.parentNode, 'active'); //parentNode即為包含step2的外一層標簽,此處即為<li>標簽      break;    case '2': //待修復       addClass(step2.parentNode, 'active');       addClass(step3.parentNode, 'active');      break;    case '3'://已關閉      addClass(step2.parentNode, 'active');      addClass(step3.parentNode, 'active');      addClass(step4.parentNode, 'active');      break;    case '4': //已公開      addClass(step2.parentNode, 'active');      addClass(step3.parentNode, 'active');      addClass(step4.parentNode, 'active');      addClass(step5.parentNode, 'end bottom-active');      break;  } </script> 

這樣設置之后,更改$status的狀態,為“待修復”后,網頁流程實現如下:

查看對應的網頁html代碼:

可以看到在對應的<li>標簽中添加了class="active",至此設置成功,實現動態顯示流程進度。

以上所述是小編給大家介紹的JavaScript實現審核流程狀態的動態顯示進度條,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遵义市| 龙海市| 古蔺县| 西安市| 和顺县| 平昌县| 高邮市| 垦利县| 濮阳市| 东台市| 延吉市| 彩票| 禹州市| 凉山| 邵东县| 迁安市| 巧家县| 东至县| 潜江市| 自贡市| 舟曲县| 靖安县| 太保市| 大厂| 盐亭县| 宁都县| 五常市| 温泉县| 资阳市| 镇巴县| 天全县| 鹤峰县| 阿鲁科尔沁旗| 古田县| 克山县| 黄平县| 偏关县| 孝感市| 溧水县| 南丹县| 辽阳县|