首先在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封装一个可以复用的提示框的更多相关文章

  1. jquery 实现一个简单的成功提示框,失败提示框

    主要的jquery代码:var TS={ successAlert:function(str){ //调用成功的方法 var html='<div class="alert alert ...

  2. JS~Boxy和JS模版实现一个标准的消息提示框

    面向对象的封装 面向对象一个入最重要的特性就是“封装”,将一些没有必要公开的方法和属性以特定的方式进行组装,使它对外只公开一个接口,外界在调用它时,不需要关注它实现的细节,而只要关注它的方法签名即可, ...

  3. 基于Jquery 简单实用的弹出提示框

    基于Jquery 简单实用的弹出提示框 引言: 原生的 alert 样子看起来很粗暴,网上也有一大堆相关的插件,但是基本上都是大而全,仅仅几句话可以实现的东西,可能要引入好几十k的文件,所以话了点时间 ...

  4. 基于jQuery封装一个瀑布流插件

    /*封装一个瀑布流插件*/ (function($){ $.fn.WaterFall = function(){ /*这是你初始化 调用这个方法的时候的 那个jquery选着到的dom对象 this* ...

  5. 一个vue的全局提示框组件

    <template> <!-- 全局提示框 --> <div v-show="visible" class="dialog-tips dia ...

  6. 【JS学习笔记】第一个JS效果——鼠标提示框

    分析效果实现原理--鼠标提示框 样式:div的display 事件:onmouseover,onmouseout 编写JS的流程 布局:HTML+CSS 属性:确定需要修改哪些属性 事件:确定用户做哪 ...

  7. 仿照jquery封装一个自己的js库(一)

    所谓造轮子的好处就是复习知识点,加深对原版jquery的理解. 本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包 ...

  8. 仿照jquery封装一个自己的js库

    所谓造轮子的好处就是复习知识点,加深对原版jquery的理解.本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包括 ...

  9. 仿照jquery封装一个自己的js库(二)

    本篇为完结篇.主要讲述如何造出轮子的高级特性. 一. css方法的高级操作 先看本文第一部分所讲的dQuery css方法 //css方法 dQuery.prototype.css=function( ...

随机推荐

  1. OpenGL 鼠标交互响应事件

    OpenGL 鼠标.键盘交互响应事件 先来一个样例: uses gl,glu,glut; procedure InitEnvironment;cdecl; begin glClearColor();/ ...

  2. 跟我一起使用create-react-app脚手架搭建vw-layout解决方案

    之前也是看过大漠的vw适配Vue-cli,我自己写H5,还有使用vue做项目的时候,会搭建大漠博客中的那一套. 现在在github上面,看见了一位博主使用create-react-app也是用vw适配 ...

  3. 1.spark核心RDD特点

    RDD(Resilient Distributed Dataset) Spark源码:https://github.com/apache/spark   abstract class RDD[T: C ...

  4. limit方法也是模型类的连贯操作方法之一

    limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多.ThinkPHP的limit方法可以兼容所有的数据库驱动类的. 限制结果数量 例如获取满足要求的 ...

  5. 「题解」:[BZOJ4558]方

    问题: 方 时间限制: 2 Sec  内存限制: 256 MB 题面 题目描述 上帝说,不要圆,要方,于是便有了这道题.由于我们应该方,而且最好能够尽量方,所以上帝派我们来找正方形 上帝把我们派到了一 ...

  6. 「题解」:[线性代数]:relays 奶牛接力跑

    问题: relays 奶牛接力跑 时间限制: 1 Sec  内存限制: 256 MB 题面 题目描述 FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼 ...

  7. VS2010-MFC(对话框:创建对话框模板和修改对话框属性)

    转自:http://www.jizhuomi.com/software/149.html 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框, ...

  8. Android基础控件SeekBar拖动条的使用

    1.简介 SeekBar继承ProgressBar,相关属性和三种不同状态下的触发方法: <!--<SeekBar--> <!--android:layout_width=&q ...

  9. 使用R进行数据提取

    使用R进行数据提取 数据提取是数据分析日常工作中遇到最多的需求,本篇文章介绍如何通过R按特定的维度或条件对数据进行提取,完成数据提取需求. 读取并创建数据表 首先第一步是读取数据,并创建名称为loan ...

  10. JavaScript性能优化篇js优化

    JavaScript性能优化篇js优化   随着Ajax越来越普遍,Ajax引用的规模越来越大,Javascript代码的性能越来越显得重要,我想这就是一个很典型的例子,上面那段代码因为会被频繁使用, ...