對於有很多流程的東西,我們希望能夠根據不同的階段,用流程條對應地進行顯示,非常直觀,給用戶帶來極好的用戶體驗,下面小編給大家分享JavaScript實作審核流程狀態的動態顯示進度條功能,需要的朋友參考下
對於有很多流程的東西,我們希望能夠根據不同的階段,以流程條對應地進行顯示,如下所示:
以上功能對應的html程式碼如下:
<p class="col-md-12 col-lg-3"> <p class="panel panel-default"> <p class="tit06"> <h3 id="漏洞处理状态">漏洞处理状态</h3> </p> <p class="status"> <ul> <li name="tab_step1_pub" class="top active"> <p class="info" id="tab_step1"> <h4> <p class="heading"></p> 待审阅</h4> <p class="text" >漏洞已提交,等待厂商审阅</p> </p> </li> <li name="tab_step2_pub" > <p class="info" id="tab_step2"> <h4> <p class="heading"></p> 待确认</h4> <p class="text" >漏洞已开始审阅,等待厂商确认</p> </p> </li> <li name="tab_step3_pub"> <p class="info" id="tab_step3"> <h4> <p class="heading"></p> 待修复</h4> <p class="text" >漏洞已被确认,等待厂商修复</p> </p> </li> <li name="tab_step4_pub"> <p class="info" id="tab_step4"> <h4> <p class="heading"></p> 已关闭</h4> <p class="text" >漏洞修复完毕,厂商关闭漏洞</p> </p> </li> <li name="tab_step5_pub" > <p class="info" id="tab_step5"> <h4> <p class="heading"></p> 已公开</h4> <p class="text" >厂商同意公开此漏洞</p> </p> </li> </ul> </p> </p> </p>
這裡採用的方法是根據處理的狀態,這裡是$status
,對應的在對應的
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實作審核流程狀態的動態顯示進度列的範例程式碼分享(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具

Dreamweaver CS6
視覺化網頁開發工具