Heim  >  Artikel  >  Web-Frontend  >  Realisieren Sie die dynamische Anzeige des Prozesses durch js

Realisieren Sie die dynamische Anzeige des Prozesses durch js

jacklove
jackloveOriginal
2018-06-15 15:20:011935Durchsuche

Für Dinge mit vielen Prozessen hoffen wir, Prozessbalken zu verwenden, um sie entsprechend den verschiedenen Phasen anzuzeigen, wie unten gezeigt:

Der HTML-Code, der den oben genannten Funktionen entspricht Der Code lautet wie folgt:

 <p class="col-md-12 col-lg-3">
      <p class="panel panel-default">
        <p class="tit06">
          <h3>漏洞处理状态</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>


Die hier verwendete Methode basiert auf dem Verarbeitungsstatus, hier ist $status, und fügt dementsprechend die Stilklassenklasse zum entsprechenden 8e22c81817d224bf490a20f8d20d8ac9 tag = „active“, und was in der Stilklasse active implementiert ist, ist, das Hintergrundbild an der entsprechenden Position zu ersetzen, also die ursprünglichen grauen Prozesslinien durch grüne Prozesslinien zu ersetzen. Das heißt, Sie müssen das entsprechende CSS nach dem Ersetzen und vor dem Ersetzen festlegen. Das entsprechende CSS lautet hier wie folgt (Teil von assetdefaultthreatrulesstyle.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; }

Die JPG-Ressource darin verwendeter Link:https://download.csdn.net/download/u012063507/10280748

Nach dem Festlegen des entsprechenden CSS besteht der nächste Schritt darin, js entsprechend dem Wert von $status zu schreiben Die entsprechende 25edfb22a4f469ecb59f1190150159c6-Klasse lautet wie folgt:

<script type="text/javascript">
/*根据处理状态,添加或删除对应的样式名*/
function addClass(elem, className){ //增加类名
    if(!elem.className){
            elem.className = className;
            return;
    }
    var clazz = &#39; &#39; + elem.className + &#39; &#39;;
    if(clazz.indexOf(&#39; &#39; + className + &#39; &#39;) === -1){
            elem.className = elem.className + &#39; &#39; + className;
    }
}

  var step1 = document.getElementById(&#39;tab_step1&#39;),
      step2 = document.getElementById(&#39;tab_step2&#39;),
      step3 = document.getElementById(&#39;tab_step3&#39;) ,
      step4 = document.getElementById(&#39;tab_step4&#39;),
      step5 = document.getElementById(&#39;tab_step5&#39;);
  var status = &#39;<?php echo $status;?>&#39;;
  switch(status){
      case &#39;1&#39;: //待确认
          addClass(step2.parentNode, &#39;active&#39;); //parentNode即为包含step2的外一层标签,此处即为<li>标签
          break;
      case &#39;2&#39;: //待修复
           addClass(step2.parentNode, &#39;active&#39;);
           addClass(step3.parentNode, &#39;active&#39;);
          break;
      case &#39;3&#39;://已关闭
          addClass(step2.parentNode, &#39;active&#39;);
          addClass(step3.parentNode, &#39;active&#39;);
          addClass(step4.parentNode, &#39;active&#39;);
          break;
      case &#39;4&#39;: //已公开
          addClass(step2.parentNode, &#39;active&#39;);
          addClass(step3.parentNode, &#39;active&#39;);
          addClass(step4.parentNode, &#39;active&#39;);
          addClass(step5.parentNode, &#39;end bottom-active&#39;);
          break;
  }
</script>

Nachdem Sie dies festgelegt haben, ändern Sie den Status von $status in „Ausstehende Reparatur“ und der Webseitenprozess wird implementiert als folgt:


Zeigen Sie den entsprechenden Webseiten-HTML-Code an:


Sie können sehen, dass dem Etikett die entsprechende 25edfb22a4f469ecb59f1190150159c6-Klasse = „aktiv“ hinzugefügt wurde und die Einstellung erfolgreich war, um eine dynamische Anzeige des Prozessfortschritts zu erreichen.
In diesem Artikel wird die dynamische Anzeige des js-Implementierungsprozesses vorgestellt. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Einführung in die Verwendung von PartikelnJS Verwandter Inhalt

Detaillierte Analyse der Operatoren i++ und ++i in JS

Bootstrap+jq+jqajax+php+Datenbankhinzufügung, Löschung, Änderung und Quellcode

Das obige ist der detaillierte Inhalt vonRealisieren Sie die dynamische Anzeige des Prozesses durch js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:vue erstellt ein MenüNächster Artikel:vue erstellt ein Menü