zoukankan      html  css  js  c++  java
  • js登录弹出框插件

    第一步:页面引入css:<link rel="stylesheet" type="text/css"" href="common/css/loginAjax.1.0.css"><!-- 引入封装的ajax样式 -->

    css范例:

    /**
    * @description 页面登录弹出框样式
    * @page 目前支持宇航所有页面
    * @author maohuidong
    * @date 2017-06-07
    */

    /*登录框样式*/
    .loginDiv {
    position: fixed;
    5.8rem;
    left: 50%;
    top: 50%;
    margin-top: -1.9rem;
    margin-left: -2.9rem;
    z-index: 101;
    background-color: #048fbe;
    border-radius: 10px;
    text-align: center;
    padding-top: 0.45rem;
    font-size: 0.28rem;
    display:none;
    }

    .loginDiv p{
    color: #fff;
    line-height: 0.45rem;
    height: 0.9rem;
    padding: 0 0.2rem;
    }

    .loginDiv p input{
    height: 0.5rem;
    padding: 0.1rem;
    border-radius: 0.08rem;
    background: #fff;
    -webkit-box-shadow: 0 0 0px 1000px white inset;
    }

    .loginDiv p label{
    display: inline-block;
    1.2rem;
    text-align: right;
    }

    /*登录信息提示*/
    .loginDiv .msg{
    color: #fff;
    line-height: 0.45rem;
    height: 0.9rem;
    padding: 0 0.2rem;
    display:none;
    }

    /*登录按钮*/
    .loginDiv .btn{
    position: absolute;
    100%;
    height: 0.88rem;
    left: 0;
    bottom: 0;
    background-color: #fff;
    border-radius: 0 0 10px 10px;
    }

    .login-dialog-mask{
    top: 0%;
    left: 0%;
    100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 9;
    position: fixed;
    display: block;
    }

    第二步:页面引入js:<script type="text/javascript" src="common/js/loginAjax.1.0.js"></script><!-- 引入封装的ajax -->

                                      <script type="text/javascript" src="common/js/jquery.js"></script><!-- 引入jquery库 -->

    js 核心代码:

    /***************************************************************************************************************
    * @description jquery ajax请求的封装,V1.0版本用户app宇航页面session失效弹出登录框
    * @page 使用页面:目前支持宇航所有页面
    * @author maohuidong
    * @date 2017-06-07
    **************************************************************************************************************/
    var login = {
    //默认参数
    opts:{
    type:"post",
    url:"",
    data:"",
    dataType:"json",
    success:function(){},
    error:function(){}
    },
    //弹出框模板
    loginTemplete:"<div id='loginDiv' class='loginDiv'><p><label>用户名:</label><input type='text' id='name' name='name'/> </p> <p><label>密码:</label><input type='password' id='passwd' name='passwd' /> </p> <p id='msg' class= 'msg'></p> <p><input type='submit' class='btn' onclick='ytek.login();' value='登录' /></p> </div><div class='login-dialog-mask'></div>",
    //宇航弹出框模板
    starLoginTemplate: "<div class='dia-bluetipwrap-only'>"+
    " <div class='dia-bluetip-only'>"+
    " <div style='margin:0.04rem 0rem 0rem 0rem; color:#000; font-size:0.35rem;'>用户登录</div>"+
    " <div class='shutdown'><img src='common/image/loginBox/shut-down.png'></div> "+
    " <div class='g-wrap login-tc'>"+
    " <p id='msg' class= 'msg'></p>"+
    " <div class='member-form-tc'>"+
    " <div class='box-sizing'>"+
    " <div class='group-item'>"+
    " <span class='bgicon tbu'></span>"+
    " <input maxlength='11' type='text' id='name' class='name' placeholder='账号 / 手机号' "+
    " onkeypress='javascript:if(event.keyCode < 48 || event.keyCode > 57) event.returnValue=false;' />"+
    " <a href='javascript:void(0);' onclick='ytek.emptyLoginName();'><span class='user-icon user-empty' onclick='ytek.emptyLoginName()'></span></a>"+
    " </div>"+
    " <div class='group-item item'>"+
    " <span class='bgicon tbp'></span>"+
    " <input maxlength='16' onpaste='return false;' type='password' id='passwd' name='passwd' placeholder='密码' onkeypress='javascript:if(event.keyCode == 32) event.returnValue=false; '>"+
    " <a href='javascript:void(0);' onclick='ytek.emptyLoginPwd();' ><span class='user-icon pwd-empty' onclick='ytek.emptyLoginPwd()'></span></a><span class='user-icon eye close' onclick='ytek.switchPwdDisplay()'></span>"+
    " </div>"+
    " <input type='submit' value='登录' class='lblue-btn' onclick='ytek.login();'> "+
    " </div>"+
    " </div>"+
    " </div> "+
    " </div>"+
    " </div><div class='login-dialog-mask'></div>",
    //ajax请求封装,session失效时,弹出登录框
    ajax:function(params){
    var _this = this;
    var params = $.extend({},this.opts,params);
    $.ajax({
    type:params.type,
    url:params.url,
    data:params.data,
    dataType:params.dataType,
    success:function(data){
    //用户验证失败
    if(typeof data == "string" && data.indexOf("loginError") > 0 ){
    data = JSON.parse(data);
    }
    //loginError = -1 时,代表服务端ajax请求验证失败
    if(data != null && data.loginError == "-1"){
    var html = _this.starLoginTemplate;
    if($("body .dia-bluetipwrap-only").size() > 0){
    $("body .dia-bluetipwrap-only").remove();
    }
    $("body").append(html);
    //绑定事件:点击非弹框区域,弹框消失
    _this.loginRemove();
    //绑定事件:取消登录框
    _this.loginClose();
    $('.login-dialog-mask').show();
    $(".dia-bluetipwrap-only").show(300);
    if(params.success){
    params.success(null);
    }
    return;
    }
    //用户验证通过,成功返回
    if(params.success){
    params.success(data);
    }
    },
    error:function(){
    if(params.error){
    params.error();
    }
    }
    });
    },
    //当前页面弹出的登录框登录
    login:function(){
    var userName = $(".dia-bluetipwrap-only #name").val().trim();
    var passwd = $(".dia-bluetipwrap-only #passwd").val().trim();
    if(userName == "" || passwd == ""){
    $(".dia-bluetipwrap-only #msg").text("用户名或密码不能为空");
    $(".dia-bluetipwrap-only #msg").show(100);
    return;
    }
    //登录验证
    this.ajax({
    type:"post",
    url:"userLoginIos_timeoutLogin.action",
    data:{"userName":userName,"passwd":passwd},
    dataType:"json",
    success:function(data){
    if(data != null && typeof data.loginError != "undefined" && data.loginError != null){
    if(data.loginError == "-2"){
    $(".dia-bluetipwrap-only #msg").text("用户名或密码不能为空");
    }
    if(data.loginError == "-3"){
    $(".dia-bluetipwrap-only #msg").text("用户名或者密码错误");
    }
    if(data.loginError == "-4"){
    $(".dia-bluetipwrap-only #msg").text("账号已失效");
    }
    $(".dia-bluetipwrap-only #msg").show(100);
    return ;
    }
    $(".dia-bluetipwrap-only #msg").text("登录成功,2秒后自动消失");
    $(".dia-bluetipwrap-only #msg").css({"color":"#048fbe"});
    $(".dia-bluetipwrap-only #msg").show(100);
    setTimeout(function(){
    $(".dia-bluetipwrap-only").hide(300,function(){
    $('.login-dialog-mask').remove();
    $(".dia-bluetipwrap-only").remove();
    });
    },2500);
    },
    error:function(){
    $(".dia-bluetipwrap-only #msg").text("登录失败");
    }

    });
    },
    //点击遮罩层,移除登录框
    loginRemove:function(){
    $(document).on("click",function(e){
    if($(e.target).closest('.dia-bluetipwrap-only').length == 0){
    if($(".dia-bluetipwrap-only").css("display") == "block"){
    $(".dia-bluetipwrap-only").hide(300,function(){
    $('.login-dialog-mask').remove();
    $(".dia-bluetipwrap-only").remove();
    });
    }
    }
    });
    },
    //关闭登录框
    loginClose:function(){
    $(".dia-bluetipwrap-only .shutdown").on("click",function(){
    $(".dia-bluetipwrap-only").hide(300,function(){
    $('.login-dialog-mask').remove();
    $(".dia-bluetipwrap-only").remove();
    });
    });
    },
    //清空登录名
    emptyLoginName:function(){
    $(".dia-bluetipwrap-only #name").val("");
    $(".dia-bluetipwrap-only #name")[0].focus();
    },
    //清空密码
    emptyLoginPwd:function(){
    $(".dia-bluetipwrap-only #passwd").val("");
    $(".dia-bluetipwrap-only #passwd")[0].focus();
    },
    //是否明文显示密码切换
    switchPwdDisplay:function(){
    if($(".dia-bluetipwrap-only .eye.close").hasClass("close")){
    $(".dia-bluetipwrap-only .eye.close").removeClass("close");
    $(".dia-bluetipwrap-only #passwd").attr("type","text");
    }else{
    $(".dia-bluetipwrap-only .eye").addClass("close");
    $(".dia-bluetipwrap-only #passwd").attr("type","password");
    }
    }
    };

    第三步:测试

    login.ajax({
    type:"post",
    url:"loggingIos_findUserLoggingYears.action",
    data:{"starId":_this.starId},
    dataType:"json",
    success:function(data){
    if(data !== null && data.length > 0){
    $("#year").empty();
    $("#year").append("<option value=''>请选择</option>");
    data.forEach(function(value,i){
    $("#year").append("<option value='"+value+"'>"+value+"</option>");
    });
    }
    },
    error:function(){

    }
    });

  • 相关阅读:
    springmvc常用注解标签详解
    高性能相关、Scrapy框架
    requests、BeautifulSoup、自动登陆示例
    框架----Django之Ajax全套实例(原生AJAX,jQuery Ajax,“伪”AJAX,JSONP,CORS)
    框架----Django之文件上传
    框架----Django之Form提交验证(一)
    框架----Django之Form提交验证(二)
    框架----Django之Form组件
    框架----Django框架知识点整理
    框架----Django框架(进阶篇)
  • 原文地址:https://www.cnblogs.com/maohuidong/p/7853365.html
Copyright © 2011-2022 走看看