使用jquery封装一个可以复用的提示框
首先在html中
<div class="backcap">
<div class="diolag">
<div class="diolag-div">
<img class="diolag-icon" src="{{ basePath }}/img/solution/app/close.png">
<div class="img">
<img />
</div>
<h3 class="diolag-title"></h3>
<p class="diolag-content"></p>
<button type="button" class="diolag-close">确定</button>
</div>
</div>
</div>
在script标签中
 $(".backcap").hide()
        //弹框时,每次整个页面变暗一点
       //设置.backcap类名的元素显示,css样式见下文
        var changeBack = function (){
            $(".backcap").show()
        }
      //设置.backcap类名的元素不显示,css样式见下文
        var changeCome = function (){
            $(".backcap").hide()
        }
     //设置.diolag 我弹出框消失
        $(".diolag").hide()
    //设置.diolag 中的右侧X点击后,弹出框消失
        $(".diolag .diolag-icon").click(function () {
            $(".diolag").hide()
            changeCome()
        })
 //设置.diolag 中的下面的按钮点击后,弹出框消失
        $(".diolag .diolag-close").click(function () {
            $(".diolag").hide()
            changeCome()
        })
 //当我点击.submit的时候,先验证正则
 $(".submit").click(function (){
            // 获取正则手机号的数据
            let contentData = $("#content").val()
            let mobileData = $("#mobile").val()
            let patt1=new RegExp("^1\\d{10}$")
            //获取页面高度的方法
            var getHeight = function (){
                let _width = document.documentElement.clientWidth; //屏幕宽
                let _height = document.documentElement.clientHeight; //屏幕高
                let boxWidth = 580;//正常不应该写死的,由于需要我这里写死了
                let boxHeight = 330;//正常不应该写死的,由于需要我这里写死了
                // console.log(boxWidth,_width,_height)
                $(".diolag").show();
                $(".diolag .diolag-div").css({
                    "left": (_width - boxWidth) / 2 + `px`,
                    "top": (_height - boxHeight) / 2 + `px`
                })
            }
            //信息有误的时候
            var getFail = function (){
                changeBack()
                console.log('tel is wrong')
                //这是电话有误
                $('.diolag .diolag-title').text("提交失败!").css({"font-size": "18px", "color": "#3b426b","font-weight":"400"})
                $('.diolag .img img').attr("src", "{{ basePath }}/img/solution/app/fail.png");
                $('.diolag .diolag-content').text("老板, 您的手机号码填写有误,请确认填写正确后再提交一次吧!").css({
                    "font-size": "14px",
                    "color": "#7d88a2",
                    "line-height": "28px",
                    "margin-top": "160px"
                })
            }
            // 提交成功时
            var getSucess = function (){
                changeBack()
                console.log('success')
                $('.diolag .diolag-title').text("提交成功!").css({"font-size": "18px", "color": "#3b426b","font-weight":"400"})
                $('.diolag .img img').attr("src", "{{ basePath }}/img/solution/app/success.png");
                $('.diolag .diolag-content').text("老板, 您的信息已提交成功, 保持预留手机的通畅,  我们将尽快与您取得联系哦!").css({
                    "font-size": "14px",
                    "color": "#7d88a2",
                    "line-height": "28px",
                    "margin-top": "160px"
                })
            }
            // 重复提交时
            var getAgain = function (){
                changeBack()
                console.log('getagain')
                $('.diolag .diolag-title').text("重复提交!").css({"font-size": "18px", "color": "#3b426b","font-weight":"400"})
                $('.diolag .img img').attr("src", "{{ basePath }}/img/solution/app/fail.png");
                $('.diolag .diolag-content').text("老板, 您的信息已提交过啦, 请勿重复提交哦!").css({
                    "font-size": "14px",
                    "color": "#7d88a2",
                    "line-height": "28px",
                    "margin-top": "160px"
                })
            }
            // 没有填写内容
            var getNocont = function (){
                changeBack()
                console.log('getNocont')
                $('.diolag .diolag-title').text("提交失败!").css({"font-size": "18px", "color": "#3b426b","font-weight":"400"})
                $('.diolag .img img').attr("src", "{{ basePath }}/img/solution/app/fail.png");
                $('.diolag .diolag-content').text("老板,您的需求信息还没有填写,请填写完整再提交哦!").css({
                    "font-size": "14px",
                    "color": "#7d88a2",
                    "line-height": "28px",
                    "margin-top": "160px"
                })
            }
            let lock = true
            getHeight()
            if(!patt1.test(mobileData)){
                //执行电话有误的事件
                getFail()
            }else {
                let subData = {
                    content: contentData,
                    mobile: mobileData,
                    type: 100
                }
                //这是成功的
                if(lock){
                    lock = false
                    //发送请求
                    $.ajax({
                        type:"POST",
                        url:"请求地址",
                        data:subData,
                        success:function(msg){
                            if(msg.error == "0"){
                                getSucess()
                            }else if(msg.error=="-1"){
                                getNocont()
                            }
                        }
                    })
                }
            }
        })
css样式
.solution-app .backcap{
    background: rgba(0,0,0,0.5);
    position:fixed;
    width:100%;
    height:1200px;
    z-index:160;
    top:0px;
}
.solution-app .diolag{
    height:330px;
    position: relative;
    text-align: center;
    float:left;
}
.solution-app .diolag-div{
    position: fixed;
    z-index:200;
    width:580px;
    height:330px;
    padding:16px 134px;
    box-sizing: border-box;
    border-radius: 10px;
    background: white;
}
.solution-app .img {
    position: absolute;
    text-align: center;
    margin:18px auto;
    margin-bottom: 16px;
    left:245px;
}
.solution-app .diolag .diolag-icon{
    position:absolute;
    right:18px;
    width:30px;
    height:30px;
    top:18px;
    color:#d0d0d0;
}
.solution-app .diolag .diolag-close{
    height:40px;
    width:100px;
    color:#fff;
    font-size:14px;
    margin-top: 24px;
    background: #599bff;
    border-radius: 4px;
    cursor: pointer;
}
.solution-app .diolag-title{
    position: absolute;
    margin:0 auto;
    left:250px;
    top:140px;
}
使用jquery封装一个可以复用的提示框的更多相关文章
- jquery 实现一个简单的成功提示框,失败提示框
		主要的jquery代码:var TS={ successAlert:function(str){ //调用成功的方法 var html='<div class="alert alert ... 
- JS~Boxy和JS模版实现一个标准的消息提示框
		面向对象的封装 面向对象一个入最重要的特性就是“封装”,将一些没有必要公开的方法和属性以特定的方式进行组装,使它对外只公开一个接口,外界在调用它时,不需要关注它实现的细节,而只要关注它的方法签名即可, ... 
- 基于Jquery 简单实用的弹出提示框
		基于Jquery 简单实用的弹出提示框 引言: 原生的 alert 样子看起来很粗暴,网上也有一大堆相关的插件,但是基本上都是大而全,仅仅几句话可以实现的东西,可能要引入好几十k的文件,所以话了点时间 ... 
- 基于jQuery封装一个瀑布流插件
		/*封装一个瀑布流插件*/ (function($){ $.fn.WaterFall = function(){ /*这是你初始化 调用这个方法的时候的 那个jquery选着到的dom对象 this* ... 
- 一个vue的全局提示框组件
		<template> <!-- 全局提示框 --> <div v-show="visible" class="dialog-tips dia ... 
- 【JS学习笔记】第一个JS效果——鼠标提示框
		分析效果实现原理--鼠标提示框 样式:div的display 事件:onmouseover,onmouseout 编写JS的流程 布局:HTML+CSS 属性:确定需要修改哪些属性 事件:确定用户做哪 ... 
- 仿照jquery封装一个自己的js库(一)
		所谓造轮子的好处就是复习知识点,加深对原版jquery的理解. 本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包 ... 
- 仿照jquery封装一个自己的js库
		所谓造轮子的好处就是复习知识点,加深对原版jquery的理解.本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包括 ... 
- 仿照jquery封装一个自己的js库(二)
		本篇为完结篇.主要讲述如何造出轮子的高级特性. 一. css方法的高级操作 先看本文第一部分所讲的dQuery css方法 //css方法 dQuery.prototype.css=function( ... 
随机推荐
- 移植 TinyLogin
			下载 从 http://tinylogin.busybox.net/downloads/tinylogin1.4.tar.bz2下载 tinylogin1.4 到/tmp 目录当中,并解压. 修改 ... 
- 1、docker centos 安装
			Docker for CentOS: 第一步:使用官方yum仓库 [root@linux-node1 ~]# yum install -y yum-utils [root@linux-node1 ~] ... 
- Mr. Young's Picture Permutations
			Mr. Young's Picture Permutations 给出一个有k列的网格图,以及每列图形的高度\(n_i\),下端对齐,保证高度递减,设有n个网格,询问向其中填1~n保证每行每列单调递增 ... 
- 基础回顾: 关于Session的一些细节
			1 session是服务端技术, cookie是客户端技术 2 默认情况下, 一个浏览器独占一个session对象, 也就是说, 开启两个浏览器进程, 它们之间使用的session不是同一个sessi ... 
- 廖雪峰Java13网络编程-3其他-2RMI远程调用
			1.RMI远程调用: Remote Method Invocation 目的:把一个接口方法暴露给远程 示例: 定义一个接口Clock,它有一个方法能够获取当前的时间,并编写一个实现类,来实现这个接口 ... 
- 杂项-公司:SAMSUNG
			ylbtech-杂项-公司:SAMSUNG 三星集团是韩国最大的跨国企业集团,同时也是上市企业全球500强,三星集团包括众多的国际下属企业,旗下子公司有:三星电子.三星物产.三星航空.三星人寿保险等, ... 
- elasticsearch配置优化
			调整ES内存分配有多种方式,建议调整 elasticsearch 中的设置(还可以直接修改bin下的启动脚本). # Directory where the Elasticsearch binary ... 
- day 38  MySQL之单表查询
			MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER ... 
- PAT甲级——A1100 Mars Numbers
			People on Mars count their numbers with base 13: Zero on Earth is called "tret" on Mars. T ... 
- java流对象
			Java和C++都是静态类型的面向对象编程语言 stream结尾都是字节流,reader和writer结尾都是字符流 区别: 就是读写的时候一个是按字节读写,一个是按字符. 实际使用通常差不多. 在读 ... 
