• 如何通过JS文件来渲染网页(即将html代码写在JS中,封装成一个模块,需要时调用):


    在动态渲染之前,需要在index.html中做好静态布局:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <link rel="stylesheet" href="./css/index.css">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" >
    </head>
    <body>
       <div class = "register_login">
           <!-- <div class = "register content">
                <div class="logo">
                        <img src="https://cas.1000phone.net/cas/images/login/logo.png">
                </div>
            <form class = "register-form">
                <div class="form-group">
                  <label for="exampleInputEmail1">用户名</label>
                  <input type="email" class="form-control register_username" id="register_username" placeholder="Username">
                </div>
                <div class="form-group">
                  <label for="exampleInputPassword1">密码</label>
                  <input type="password" class="form-control" id="register_password" placeholder="Password">
                </div>
                <button type="button" class="btn btn-success register_btn1" id = "register_btn1">去登陆</button>
                <button type="submit" class="btn btn-info register_btn" id = "register_btn">注册</button>
              </form>
           </div> -->
    
           <!-- <div class = "register content">
                <div class="logo">
                        <img src="https://cas.1000phone.net/cas/images/login/logo.png">
                </div>
            <form class = "register-form">
                <div class="form-group">
                  <label for="exampleInputEmail1">用户名</label>
                  <input type="email" class="form-control register_username" id="exampleInputEmail1" placeholder="Username">
                </div>
                <div class="form-group">
                  <label for="exampleInputPassword1">密码</label>
                  <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
                </div>
                <button type="button" class="btn btn-success register_btn1" id = "register_btn1">去注册</button>
                <button type="submit" class="btn btn-info register_btn">登录</button>
              </form>
           </div>
     -->
       </div> 
    </body>
    </html>
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" ></script>
    <script src = "./js/page.js"></script>
    <script src = "./js/login.js"></script>
    <script src = "./js/register.js"></script>

    在page.js中创建page对象

    function Page() {
        this.container = $(".register_login");
        //console.log(this.container);
        this.flag = true;
        this.init();
       
    }
    
    
    Page.prototype = {
        init:function(){
            this.createContent();
        },
        createContent:function(params=this.flag){
            this.container.html('')
            if(params){
               
                this.login =  new Login(this.container);
            }else{
               
                this.register = new Register(this.container);
            }
        }
    }
    
    new Page();

    创建Login对象:

    //创建一个Login:
    function Login(container) {
        //容器实例属性:
        this.container = container;
        //调用入口方法:
        this.init();
    }
    
    //引入html标签:
    Login.template = `
     <div class = "register content">
        <div class="logo">
                <img src="https://cas.1000phone.net/cas/images/login/logo.png">
        </div>
        <form class = "register-form">
            <div class="form-group">
                <label for="exampleInputEmail1">用户名</label>
                <input type="email" class="form-control register_username" id="exampleInputEmail1" placeholder="Username">
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">密码</label>
                <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
            </div>
            <button type="button" class="btn btn-success register_btn1" id = "register_btn1">去登陆</button>
            <button type="submit" class="btn btn-info register_btn">注册</button>
        </form>
    </div>`
    
    //Login的原型方法:
    Login.prototype = {
        init:function(){
        this.createDom();
        },
        createDom:function(){
            this.el = $("<div class='content'></div>");
            this.el.append(Login.template);
            console.log(Login.template)
            this.container.append(this.el);
        }
    }
    
    new Page();

    创建Register对象:

    //创建一个Register:
    function Register(container) {
        //容器实例属性:
        this.container = container;
        //调用入口方法:
        this.init();
    }
    
    //引入html标签:
    Register.template = `
     <div class = "register content">
        <div class="logo">
                <img src="https://cas.1000phone.net/cas/images/login/logo.png">
        </div>
        <form class = "register-form">
            <div class="form-group">
                <label for="exampleInputEmail1">用户名</label>
                <input type="email" class="form-control register_username" id="exampleInputEmail1" placeholder="Username">
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">密码</label>
                <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
            </div>
            <button type="button" class="btn btn-success register_btn1" id = "register_btn1">去登陆</button>
            <button type="submit" class="btn btn-info register_btn">注册</button>
        </form>
    </div>`
    
    //Register的原型方法:
    Register.prototype = {
        init:function(){
        this.createDom();
        },
        createDom:function(){
            this.el = $("<div class='content'></div>");
            this.el.append(Register.template);
            console.log(Register.template)
            this.container.append(this.el);
        }
    }
    
    new Page();
  • 相关阅读:
    刷新或关闭时调用onbeforeunload
    单词换行问题
    PhpStorm提高效率的使用方法及设置
    高质量代码编写
    数组去重
    HMTL5 本地数据库
    Html5 本地存储
    php array(object) 与xml相互转换
    pwnable.kr之leg
    文件上传漏洞及其绕过
  • 原文地址:https://www.cnblogs.com/kinoko-1009/p/10519095.html
Copyright © 2020-2023  润新知