javascript
  • jquery
  • html
  • css
  • twitter-bootstrap
  • 2017-11-15 17 views 3 likes 
    3

    は現在、私はそれは私が欲しいと私はJSで内部spanを変更していますどこに更新基本静NAVを生成し、次のコードマルチステップフォームで進行状況バーの一連の手順を行うにはどうすればよいですか?

    <div class="progress"> 
        <div class='progress-bar bar-style' role='progressbar' aria-valueactive='1' aria-valuemin='0' aria-valuemax="8" id='userProgress'> 
         <span id="progressStatus"></span> 
        </div> 
    </div> 
    

    を持っています。

    私は次のことを示す上面のラベルを構築したい:

    • ステップ1:セットアップ
    • ステップ2:入力コンフィグ
    • ステップ3:出力ヘッダー
    • ステップ4:出力Zip

    目的は、複数ステップフォームの進行状況バーの静的ヘッダーです。 問題これをコード化する方法や開始する方法がわかりません。 Bootstrap-3は、作成方法の簡単なスニペットを持っていないようです。

    私はnavとjavascriptの上にテキストを追加する方法があると思いますが、どのテキストがフォームのナビゲーションでハイライトされていますか?誰でもリンクを共有したり、いくつかのドキュメントの指示に基づいて始めることができますか?

    +1

    を試すことができます –

    答えて

    3

    あなたはhttps://codepen.io/designify-me/pen/qrJWpGこの例を試すことができ、ブートストラップ多段階フォームの例

    //jQuery time 
     
    var current_fs, next_fs, previous_fs; //fieldsets 
     
    var left, opacity, scale; //fieldset properties which we will animate 
     
    var animating; //flag to prevent quick multi-click glitches 
     
    
     
    $(".next").click(function(){ 
     
    \t if(animating) return false; 
     
    \t animating = true; 
     
    \t 
     
    \t current_fs = $(this).parent(); 
     
    \t next_fs = $(this).parent().next(); 
     
    \t 
     
    \t //activate next step on progressbar using the index of next_fs 
     
    \t $("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active"); 
     
    \t 
     
    \t //show the next fieldset 
     
    \t next_fs.show(); 
     
    \t //hide the current fieldset with style 
     
    \t current_fs.animate({opacity: 0}, { 
     
    \t \t step: function(now, mx) { 
     
    \t \t \t //as the opacity of current_fs reduces to 0 - stored in "now" 
     
    \t \t \t //1. scale current_fs down to 80% 
     
    \t \t \t scale = 1 - (1 - now) * 0.2; 
     
    \t \t \t //2. bring next_fs from the right(50%) 
     
    \t \t \t left = (now * 50)+"%"; 
     
    \t \t \t //3. increase opacity of next_fs to 1 as it moves in 
     
    \t \t \t opacity = 1 - now; 
     
    \t \t \t current_fs.css({ 
     
         'transform': 'scale('+scale+')', 
     
         'position': 'absolute' 
     
         }); 
     
    \t \t \t next_fs.css({'left': left, 'opacity': opacity}); 
     
    \t \t }, 
     
    \t \t duration: 800, 
     
    \t \t complete: function(){ 
     
    \t \t \t current_fs.hide(); 
     
    \t \t \t animating = false; 
     
    \t \t }, 
     
    \t \t //this comes from the custom easing plugin 
     
    \t \t easing: 'easeInOutBack' 
     
    \t }); 
     
    }); 
     
    
     
    $(".previous").click(function(){ 
     
    \t if(animating) return false; 
     
    \t animating = true; 
     
    \t 
     
    \t current_fs = $(this).parent(); 
     
    \t previous_fs = $(this).parent().prev(); 
     
    \t 
     
    \t //de-activate current step on progressbar 
     
    \t $("#progressbar li").eq($("fieldset").index(current_fs)).removeClass("active"); 
     
    \t 
     
    \t //show the previous fieldset 
     
    \t previous_fs.show(); 
     
    \t //hide the current fieldset with style 
     
    \t current_fs.animate({opacity: 0}, { 
     
    \t \t step: function(now, mx) { 
     
    \t \t \t //as the opacity of current_fs reduces to 0 - stored in "now" 
     
    \t \t \t //1. scale previous_fs from 80% to 100% 
     
    \t \t \t scale = 0.8 + (1 - now) * 0.2; 
     
    \t \t \t //2. take current_fs to the right(50%) - from 0% 
     
    \t \t \t left = ((1-now) * 50)+"%"; 
     
    \t \t \t //3. increase opacity of previous_fs to 1 as it moves in 
     
    \t \t \t opacity = 1 - now; 
     
    \t \t \t current_fs.css({'left': left}); 
     
    \t \t \t previous_fs.css({'transform': 'scale('+scale+')', 'opacity': opacity}); 
     
    \t \t }, 
     
    \t \t duration: 800, 
     
    \t \t complete: function(){ 
     
    \t \t \t current_fs.hide(); 
     
    \t \t \t animating = false; 
     
    \t \t }, 
     
    \t \t //this comes from the custom easing plugin 
     
    \t \t easing: 'easeInOutBack' 
     
    \t }); 
     
    }); 
     
    
     
    $(".submit").click(function(){ 
     
    \t return false; 
     
    })
    /*custom font*/ 
     
    @import url(https://fonts.googleapis.com/css?family=Montserrat); 
     
    
     
    /*basic reset*/ 
     
    * { 
     
        margin: 0; 
     
        padding: 0; 
     
    } 
     
    
     
    html { 
     
        height: 100%; 
     
        background: #6441A5; /* fallback for old browsers */ 
     
        background: -webkit-linear-gradient(to left, #6441A5, #2a0845); /* Chrome 10-25, Safari 5.1-6 */ 
     
    } 
     
    
     
    body { 
     
        font-family: montserrat, arial, verdana; 
     
        background: transparent; 
     
    } 
     
    
     
    /*form styles*/ 
     
    #msform { 
     
        text-align: center; 
     
        position: relative; 
     
        margin-top: 30px; 
     
    } 
     
    
     
    #msform fieldset { 
     
        background: white; 
     
        border: 0 none; 
     
        border-radius: 0px; 
     
        box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4); 
     
        padding: 20px 30px; 
     
        box-sizing: border-box; 
     
        width: 80%; 
     
        margin: 0 10%; 
     
    
     
        /*stacking fieldsets above each other*/ 
     
        position: relative; 
     
    } 
     
    
     
    /*Hide all except first fieldset*/ 
     
    #msform fieldset:not(:first-of-type) { 
     
        display: none; 
     
    } 
     
    
     
    /*inputs*/ 
     
    #msform input, #msform textarea { 
     
        padding: 15px; 
     
        border: 1px solid #ccc; 
     
        border-radius: 0px; 
     
        margin-bottom: 10px; 
     
        width: 100%; 
     
        box-sizing: border-box; 
     
        font-family: montserrat; 
     
        color: #2C3E50; 
     
        font-size: 13px; 
     
    } 
     
    
     
    #msform input:focus, #msform textarea:focus { 
     
        -moz-box-shadow: none !important; 
     
        -webkit-box-shadow: none !important; 
     
        box-shadow: none !important; 
     
        border: 1px solid #ee0979; 
     
        outline-width: 0; 
     
        transition: All 0.5s ease-in; 
     
        -webkit-transition: All 0.5s ease-in; 
     
        -moz-transition: All 0.5s ease-in; 
     
        -o-transition: All 0.5s ease-in; 
     
    } 
     
    
     
    /*buttons*/ 
     
    #msform .action-button { 
     
        width: 100px; 
     
        background: #ee0979; 
     
        font-weight: bold; 
     
        color: white; 
     
        border: 0 none; 
     
        border-radius: 25px; 
     
        cursor: pointer; 
     
        padding: 10px 5px; 
     
        margin: 10px 5px; 
     
    } 
     
    
     
    #msform .action-button:hover, #msform .action-button:focus { 
     
        box-shadow: 0 0 0 2px white, 0 0 0 3px #ee0979; 
     
    } 
     
    
     
    #msform .action-button-previous { 
     
        width: 100px; 
     
        background: #C5C5F1; 
     
        font-weight: bold; 
     
        color: white; 
     
        border: 0 none; 
     
        border-radius: 25px; 
     
        cursor: pointer; 
     
        padding: 10px 5px; 
     
        margin: 10px 5px; 
     
    } 
     
    
     
    #msform .action-button-previous:hover, #msform .action-button-previous:focus { 
     
        box-shadow: 0 0 0 2px white, 0 0 0 3px #C5C5F1; 
     
    } 
     
    
     
    /*headings*/ 
     
    .fs-title { 
     
        font-size: 18px; 
     
        text-transform: uppercase; 
     
        color: #2C3E50; 
     
        margin-bottom: 10px; 
     
        letter-spacing: 2px; 
     
        font-weight: bold; 
     
    } 
     
    
     
    .fs-subtitle { 
     
        font-weight: normal; 
     
        font-size: 13px; 
     
        color: #666; 
     
        margin-bottom: 20px; 
     
    } 
     
    
     
    /*progressbar*/ 
     
    #progressbar { 
     
        margin-bottom: 30px; 
     
        overflow: hidden; 
     
        /*CSS counters to number the steps*/ 
     
        counter-reset: step; 
     
    } 
     
    
     
    #progressbar li { 
     
        list-style-type: none; 
     
        color: white; 
     
        text-transform: uppercase; 
     
        font-size: 9px; 
     
        width: 33.33%; 
     
        float: left; 
     
        position: relative; 
     
        letter-spacing: 1px; 
     
    } 
     
    
     
    #progressbar li:before { 
     
        content: counter(step); 
     
        counter-increment: step; 
     
        width: 24px; 
     
        height: 24px; 
     
        line-height: 26px; 
     
        display: block; 
     
        font-size: 12px; 
     
        color: #333; 
     
        background: white; 
     
        border-radius: 25px; 
     
        margin: 0 auto 10px auto; 
     
    } 
     
    
     
    /*progressbar connectors*/ 
     
    #progressbar li:after { 
     
        content: ''; 
     
        width: 100%; 
     
        height: 2px; 
     
        background: white; 
     
        position: absolute; 
     
        left: -50%; 
     
        top: 9px; 
     
        z-index: -1; /*put it behind the numbers*/ 
     
    } 
     
    
     
    #progressbar li:first-child:after { 
     
        /*connector not needed before the first step*/ 
     
        content: none; 
     
    } 
     
    
     
    /*marking active/completed steps green*/ 
     
    /*The number of the step and the connector before it = green*/ 
     
    #progressbar li.active:before, #progressbar li.active:after { 
     
        background: #ee0979; 
     
        color: white; 
     
    } 
     
    
     
    
     
    /* Not relevant to this form */ 
     
    .dme_link { 
     
        margin-top: 30px; 
     
        text-align: center; 
     
    } 
     
    .dme_link a { 
     
        background: #FFF; 
     
        font-weight: bold; 
     
        color: #ee0979; 
     
        border: 0 none; 
     
        border-radius: 25px; 
     
        cursor: pointer; 
     
        padding: 5px 25px; 
     
        font-size: 12px; 
     
    } 
     
    
     
    .dme_link a:hover, .dme_link a:focus { 
     
        background: #C5C5F1; 
     
        text-decoration: none; 
     
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
     
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
     
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script> 
     
    <!-- MultiStep Form --> 
     
    <div class="row"> 
     
        <div class="col-md-6 col-md-offset-3"> 
     
         <form id="msform"> 
     
          <!-- progressbar --> 
     
          <ul id="progressbar"> 
     
           <li class="active">Personal Details</li> 
     
           <li>Social Profiles</li> 
     
           <li>Account Setup</li> 
     
          </ul> 
     
          <!-- fieldsets --> 
     
          <fieldset> 
     
           <h2 class="fs-title">Personal Details</h2> 
     
           <h3 class="fs-subtitle">Tell us something more about you</h3> 
     
           <input type="text" name="fname" placeholder="First Name"/> 
     
           <input type="text" name="lname" placeholder="Last Name"/> 
     
           <input type="text" name="phone" placeholder="Phone"/> 
     
           <input type="button" name="next" class="next action-button" value="Next"/> 
     
          </fieldset> 
     
          <fieldset> 
     
           <h2 class="fs-title">Social Profiles</h2> 
     
           <h3 class="fs-subtitle">Your presence on the social network</h3> 
     
           <input type="text" name="twitter" placeholder="Twitter"/> 
     
           <input type="text" name="facebook" placeholder="Facebook"/> 
     
           <input type="text" name="gplus" placeholder="Google Plus"/> 
     
           <input type="button" name="previous" class="previous action-button-previous" value="Previous"/> 
     
           <input type="button" name="next" class="next action-button" value="Next"/> 
     
          </fieldset> 
     
          <fieldset> 
     
           <h2 class="fs-title">Create your account</h2> 
     
           <h3 class="fs-subtitle">Fill in your credentials</h3> 
     
           <input type="text" name="email" placeholder="Email"/> 
     
           <input type="password" name="pass" placeholder="Password"/> 
     
           <input type="password" name="cpass" placeholder="Confirm Password"/> 
     
           <input type="button" name="previous" class="previous action-button-previous" value="Previous"/> 
     
           <input type="submit" name="submit" class="submit action-button" value="Submit"/> 
     
          </fieldset> 
     
         </form> 
     
         <!-- link to designify.me code snippets --> 
     
         <div class="dme_link"> 
     
          <p><a href="http://designify.me/code-snippets-js/" target="_blank">More Code Snippets</a></p> 
     
         </div> 
     
         <!-- /.link to designify.me code snippets --> 
     
        </div> 
     
    </div> 
     
    <!-- /.MultiStep Form -->

    関連する問題