• 技术文章 >web前端 >js教程

    路由器web向导页面实现

    一个新手一个新手2017-10-02 09:45:11原创1500

    这一篇是网上比较好的实现方式,请在百度输入关键之搜索“基于Bootstrap实现的上一步下一步表单向导插件Wizard.js”

    使用网上的scrollable.js这个插件bug比较多,不推荐使用

    下面是我根据需求完成自己写的一份路由器向导页面

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8"/>
        <link rel="stylesheet" type="text/css" href="./guide.css"/>
        <script type="text/javascript" src="./jq.js"></script>
    </head>
    <body>
        <p id="main">
            <form action="#" method="post">
                <p id="wizard">
                    <ul id="status">
                        <li id="netset" class="active">上网方式</li>                    
                        <li id="netset-ppoe" class="hide">PPOE</li>
                        <li id="netset-static" class="hide">静态IP</li>
                        <li id="netset-dynamic" class="hide">动态IP</li>
                        <li id="wireless">无线设置</li>
                        <li id="portal">Portal设置</li>
                        <li id="finish">完成</li>
                    </ul>
                    <p class="item">
                        <p id="item1" class="page">
                            
                             <h6>本向导提供三种上网方式的选择</h6>   
                            <em>
                                如果是其他上网方式,请点击菜单栏“网络->接口->wan”配置。
                            </em>
                            <p><input id="default" type=radio name="type" value="Auto" checked>路由器自动选择上网方式(默认)</p>
                            <p><input type=radio name="type" value="PPOE">PPOE(ADSL虚拟拨号)</p>
                            <p><input type=radio name="type" value="D">动态IP(自动从网络服务商获取IP地址)</p>
                            <p><input type=radio name="type" value="Static">静态IP(网络服务商提供的IP地址)</p>
                            <p class="btn_nav">
                                <input id="btn1" type="button" class="next right" value="下一步»" />
                            </p>
                        </p>
    
                        <p id="item1-ppoe" class="hide">
                            <em>请在下面的设置框中填入运营商提供的正确的宽带账号和密码。</em>
                            <p><label>上网账号:</label><input type="text" class="input" name="ppoe-user" /></p>
                            <p><label>上网密码:</label><input type="password" class="input" name="ppoe-passwd" /></p>
                            <p><label>重复密码:</label><input type="password" class="input" name="ppoe-repeat" /></p>
                            <p class="btn_nav">
                                <input id="btn2-1" type="button" class="prev" style="float:left" value="«上一步" />
                                <input id="btn2-2" type="button" class="next right" value="下一步»" />
                            </p>
                        </p>
    
                        <p id="item1-static" class="hide">
                            <em>请在下面的设置框中填入正确的IP地址、掩码、网关、DNS等信息。</em>
                            <p><label>IPV4地址:</label><input type="text" class="input" name="static-ip" /></p>
                            <p><label>掩码:</label><input type="text" class="input" name="static-mask" /></p>
                            <p><label>网关:</label><input type="text" class="input" name="static-gateway" /></p>
                            <p><label>DNS:</label><input type="text" class="input" name="static-dns" /></p>
                            <p class="btn_nav">
                                <input id="btn2-3" type="button" class="prev" style="float:left" value="«上一步" />
                                <input id="btn2-4" type="button" class="next right" value="下一步»" />
                            </p>
                        </p>
    
                        <p id="item1-dynamic" class="hide">
                            <em>下面是路由自动获取的IP地址。</em>
                            <p><label>IP地址:</label><input type="text" class="input" name="autoip" /></p>
                            <p class="btn_nav">
                                <input id="btn2-5" type="button" class="prev" style="float:left" value="«上一步" />
                                <input id="btn2-6" type="button" class="next right" value="下一步»" />
                            </p>
                        </p>
    
                        <p id="item2" class="hide">
                            <em>本向导页面设置路由器无线网络基本参数以及无线安全。</em>
                            <p><label>无线状态:
                                <select>
                                    <option value="Enable">开启</option>
                                    <option value="Disenable">关闭</option>     
                                </select>
                                </label>
                            </p>
                            <p><label>SSID:</label><input type="text" class="input" name="SSID" value="MT-12346"/></p>
                            <p><label>
                                信道:                          
                                <select name="ch">
                                    <option value="ch1">1</option>
                                    <option value="ch2">2</option>
                                    <option value="ch3">3</option>
                                    <option value="ch4">4</option>
                                    <option value="ch5">5</option>
                                    <option value="ch6">6</option>
                                    <option value="ch7">7</option>
                                    <option value="ch8">8</option>
                                    <option value="ch9">9</option>
                                    <option value="ch10">10</option>
                                    <option value="ch11" selected="selected">11</option>
                                </select>
                                    带宽:
                                   <select name="bw">
                                       <option value="bw300">300M</option>
                                       <option value="bw150">150M</option>
                                   </select>
                            </label></p>
    
                            <p><input type=radio name="wireless-security" value="close" checked/>关闭无线安全</p>
                            <p><input type=radio name="wireless-security" value="enable"/>WPA-PSL/WPA2-PSK</p>
                            <p><label>PSK密码:</label><input type="password" class="input" name="security-passwd"/></p>
                            <p class="btn_nav">
                                <input id="btn3-1" type="button" class="prev" style="float:left" value="«上一步" />
                                <input id="btn3-2" type="button" class="next right" value="下一步»" />
                            </p>
                        </p>
    
                        <p id="item3" class="hide">
                            <h6>受限制的网络连接,HTTP请求都重定向到指定的站点</h6>   
                            <em>本向向导页面设置无线强制认证。</em>
                            <p><label>开启Portal认证:<input type="checkbox" name="portal-enable" value="enable_portal" /></label></p>
                            <p><label>认证服务器地址:</label><input type="text" class="input" name="url" value="192.168.0.251"/></p>
                            <p><label>高级设置:<a href="http://192.168.0.251"><input type="button" class="" value="点击在线配置" name="inline" /></a></label></p>
    
                            <p class="btn_nav">
                                <input id="btn4-1" type="button" class="prev" style="float:left" value="«上一步" />
                                <input id="btn4-2" type="button" class="next right" value="下一步»" />
                            </p>
                        </p>
    
                        <p id="item4" class="hide">
                            <h6>
                                <em>恭喜您已经完成了配置。</em></h6>
                                <p>请点击“确定”按钮完成配置。</p>
    
                                <p class="btn_nav">
                                    <input id="btn5-1" type="button" class="next left" value="上一步" />
                                    <input id="btn5-2" type="button" class="next right" value="确 定" />
                                </p>
                        </p>
                    </p>
                </p>
            </form>
        </p>
        <script type="text/javascript">
            $(document).ready(function () {
                //$(document).bind('keydown', HandleTabKey);
            });
            function HandleTabKey(evt) {
                if (evt.keyCode == 9) {
                    if (evt.preventDefault) { evt.preventDefault(); }
                    else { evt.returnValue = false; }
                }
            }
            $("#btn1").click(function () {
                var type = $('input:radio:checked').val();         
                switch (type) {
                    case "PPOE":
                        $("#item1").removeClass("page").addClass("hide");
                        $("#item1-ppoe").removeClass("hide").addClass("page");                  
                        break;
    
                    case "Static":
                        $("#item1").removeClass("page").addClass("hide");
                        $("#item1-static").removeClass("hide").addClass("page");
                        break;
    
                    case "D":
                        $("#item1").removeClass("page").addClass("hide");
                        $("#item1-dynamic").removeClass("hide").addClass("page");
                        break;
    
                    default:
                        //todo 自动判断是什么上网方式                   
                        break;
                }
                ClickRadio();
            });
    
            $("#btn2-2").click(function () {
                $("#item1-ppoe").removeClass("page").addClass("hide");
                $("#item2").removeClass("hide").addClass("page");
    
                $("#netset-ppoe").removeClass("active").addClass("");
                $("#wireless").removeClass("").addClass("active");
            });
    
            $("#btn2-4").click(function () {
                $("#item1-static").removeClass("page").addClass("hide");
                $("#item2").removeClass("hide").addClass("page");
    
                $("#netset-static").removeClass("active").addClass("");
                $("#wireless").removeClass("").addClass("active");
            });
    
            $("#btn2-6").click(function () {
                $("#item1-dynamic").removeClass("page").addClass("hide");
                $("#item2").removeClass("hide").addClass("page");
    
                $("#netset-dynamic").removeClass("active").addClass("");
                $("#wireless").removeClass("").addClass("active");
            });
    
            $("#btn2-1,#btn2-3,#btn2-5").click(function () {
                $("#item1-static").removeClass("page").addClass("hide");
                $("#item1-ppoe").removeClass("page").addClass("hide");
                $("#item1-dynamic").removeClass("page").addClass("hide");
    
                $("#item1").removeClass("hide").addClass("page");
            });
    
            $("#btn3-1").click(function () {
                $("#wireless").removeClass("active").addClass("");
                $("#item1-static").removeClass("page").addClass("hide");
                $("#item1-ppoe").removeClass("page").addClass("hide");
                $("#item1-dynamic").removeClass("page").addClass("hide");
    
                $("#item1").removeClass("hide").addClass("page");
    
                $("#netset").removeClass("hide").addClass("active");
                $("#netset-dynamic").removeClass("active").addClass("hide");
                $("#netset-static").removeClass("active").addClass("hide");
                $("#netset-ppoe").removeClass("active").addClass("hide");        
    
            });
    
            $("#btn3-2").click(function () {
                $("#item2").removeClass("page").addClass("hide");
                $("#item3").removeClass("hide").addClass("page");
    
                $("#wireless").removeClass("active").addClass("");
                $("#portal").removeClass("").addClass("active");
            });
    
            $("#btn4-1").click(function () {
                $("#item3").removeClass("page").addClass("hide");
                $("#item2").removeClass("hide").addClass("page");
    
                $("#portal").removeClass("active").addClass("");
                $("#wireless").removeClass("").addClass("active");
                console.log("4-1");
            });
    
            $("#btn4-2").click(function () {
                $("#item3").removeClass("page").addClass("hide");
                $("#item4").removeClass("hide").addClass("page");
    
                $("#portal").removeClass("active").addClass("");
                $("#finish").removeClass("").addClass("active");
            });
           
            $("#btn5-1").click(function () {          
                $("#finish").removeClass("active").addClass("");
                $("#portal").removeClass("").addClass("active");
    
                $("#item4").removeClass("page").addClass("hide");
                $("#item3").removeClass("hide").addClass("page");
                
    
            });
    
            $("#btn5-2").click(function () {
                var data = $("form").serialize()+"\n系统正在重启几分钟后生效";
                alert(data);
            });
    
            $("#item1 :radio").click(function () {
                ClickRadio();
            });
        
            function ClickRadio()
            {
                var type = $('input:radio:checked').val();
                switch (type) {
                    case "PPOE":
                        $("#netset-ppoe").removeClass("hide").addClass("active");
                        $("#netset").removeClass("active").addClass("hide");
                        $("#netset-dynamic").removeClass("active").addClass("hide");
                        $("#netset-static").removeClass("active").addClass("hide");
    
                        break;
                    case "Static":
                        $("#netset-static").removeClass("hide").addClass("active");
                        $("#netset").removeClass("active").addClass("hide");
                        $("#netset-dynamic").removeClass("active").addClass("hide");
                        $("#netset-ppoe").removeClass("active").addClass("hide");
                        break;
                    case "D":
                        $("#netset-dynamic").removeClass("hide").addClass("active");
                        $("#netset").removeClass("active").addClass("hide");
                        $("#netset-static").removeClass("active").addClass("hide");
                        $("#netset-ppoe").removeClass("active").addClass("hide");
                        break;
                    case "Auto":
                        $("#netset").removeClass("hide").addClass("active");
                        $("#netset-dynamic").removeClass("active").addClass("hide");
                        $("#netset-static").removeClass("active").addClass("hide");
                        $("#netset-ppoe").removeClass("active").addClass("hide");
                        break
    
                    default:
                        $("#netset").removeClass("hide").addClass("active");
                        $("#netset-dynamic").removeClass("active").addClass("hide");
                        $("#netset-static").removeClass("active").addClass("hide");
                        $("#netset-ppoe").removeClass("active").addClass("hide");
                        break;
                }
            }
        </script>
    </body>
    </html>

    CSS样式表

    @charset "utf-8";
    /*CSS DOCUMENT*/
    html, body, p, span, h1, h2, h3, h4, h5, h6, p, pre, a, code, em, img, small, strong, sub, sup, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label {
    margin:0; padding:0; border:0; outline:0; font-size:16px;vertical-align:baseline;}
    
    a {
        color:#007bc4; 
        text-decoration:none;
    
    }
    a:hover{
        text-decoration:underline;
    
    }
    ol,ul{
        list-style:none;
    
    }
    table{
        border-collapse:collapse;border-spacing:0
    
    }
    body{
        height:100%;font:16px "Microsoft Yahei",Tahoma, Helvetica, Arial, Verdana, "\5b8b\4f53", sans-serif;
        color:#51555C;
    
    }
    
    img{
        border:none;
    
    }
    
    #head {
        width:56rem; 
        height:5.75rem;
        margin:0 auto;
    }
    
    #wizard {
        border:5px solid #eee;
        height:26rem;
        margin:20px auto;
        width:35.63rem;overflow:hidden;
        position:relative;
        -moz-border-radius:5px;
        -webkit-border-radius:5px;
        padding:0;
    }
    #wizard .right{float:right;}
    #wizard #status{height:35px;background:#eee;padding-left:1.56rem!important; width:35.63rem;}
    
    #status li{float:left;color:rgb(154,37,143);padding:10px 30px;}
    
    #status li.active{
        background-color:rgb(133,129,216);
        font-weight:normal;
        -moz-border-radius:5px;
        -webkit-border-radius:5px;
    
    }
    .page{padding:1.25rem 1.875rem;width:31.25rem;float:left;height:25rem;}
    
    .page em{
        border-bottom:1px dotted #ccc; 
        margin-bottom:20px; 
        padding-bottom:5px;       
        font-style:normal;
        font-size:0.8rem;
    
    }
    
    .btn_nav{
        height:36px; 
        line-height:36px;
        margin:20px auto;
    }
    .prev,.next{
        width:100px; 
        height:32px;
        line-height:32px; 
        background:url(images/btn_bg.gif) repeat-x bottom; 
        border:1px solid #d3d3d3; 
        cursor:pointer
    
    }
    
    .page p{
        line-height:16px;
        margin-top:0.5rem;
        font-size:0.8rem;
        
    }
    .page p label{
        display:block;
        font-size:0.8rem;
    }
    
    .input{
        width:240px;
        height:18px; 
        margin:10px auto;
        line-height:20px; 
        border:1px solid #d3d3d3;
        padding:2px
    }
    
    .hide {
        display:none;
    }

    以上就是路由器web向导页面实现的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:路由器 web 实现
    上一篇:如何实现基础的单行编辑功能 下一篇:JavaScript实现缓冲运动框架的实例
    PHP编程就业班

    相关文章推荐

    • 你能搞懂JS的this指向问题吗?看看这篇文章• 浅析react18中的新概念Transition• javascript跨域的原因是什么• 什么是事件循环?详解Node.js中的事件循环• 一起来分析JavaScript五大事件

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网