ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)

JavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)

黄舟
リリース: 2017-03-20 14:44:07
オリジナル
3883 人が閲覧しました

多くのプロセスを含むものについては、プロセス バーを使用してさまざまな段階に応じてプロセスを表示したいと考えています。これは非常に直感的で、ユーザーに優れたユーザー エクスペリエンスをもたらします。以下では、JavaScript実装レビューを共有します。動的表示 プログレスバー プロセスの機能 ステータス 必要な友達が参照できます

多くのプロセスを含むものについては、以下に示すように、さまざまな段階に応じてプロセスバーと対応して表示したいと考えています:

JavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)

上記の関数に対応するHTMLコードは以下の通りです:

<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>
ログイン後にコピー

ここで使用するメソッドは処理状況に基づいており、ここでは$statusで対応するものを追加します。対応する <li> スタイル クラス class="active" で、スタイル クラス active で実装されるのは、対応する位置の背景画像を置き換えること、つまり元のグレーの処理を置き換えることです。緑色のプロセスラインを持つライン。つまり、置換後と置換前の対応する CSS を設定する必要があります。ここでの対応する CSS は次のとおりです (assetsdefaultthreatrulesstyle.css の一部): $status,对应的在相应的<li>的标签中增加样式类 class="active",而样式类active中实现的是在对应位置替换背景图片,即将原来的灰色流程线条替换成绿色的流程线条。即需要设置对应的替换后和替换前的css,这里对应的css如下(assetsdefaultthreatrulesstyle.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 = &#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>
ログイン後にコピー

这样设置之后,更改$status的状态,为“待修复”后,网页流程实现如下:

JavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)

查看对应的网页html代码:

JavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)

可以看到在对应的<li>标签中添加了class="active"rrreee

対応する CSS を設定した後、次のステップは js を記述することです。 $status の値を、対応する <li> に class🎜 を追加するだけです。この関数の実装は次のとおりです: 🎜rrreee 🎜このように設定した後、$status のステータスを「修復保留中」に変更した後、Web ページの処理は次のように実装されます: 🎜🎜JavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)🎜🎜対応する Web ページの HTML コードを表示します: 🎜🎜JavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)🎜🎜対応する class="active" が ><li> タグに追加されていることがわかります。設定はこれで完了です。成功すると、プロセスの進行状況が動的に表示されます。 🎜

以上がJavaScriptを使用してレビュー処理状況のプログレスバーを動的に表示するサンプルコード共有(写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート