使用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( ...
随机推荐
- 2018-8-10-如何删除错误提交的-git-大文件
title author date CreateTime categories 如何删除错误提交的 git 大文件 lindexi 2018-08-10 19:16:51 +0800 2018-2-1 ...
- css实现截取文本
.ellipsis{ max-width: 260px; // 自定义 overflow: hidden; text-overflow: ellipsis; white-space: nowrap; ...
- 【笔记篇】Ubuntu一日游
今天做数据的时候在Windows下出问题了(好像是爆栈了QAQ) 于是乎就打开了自己的Ubuntu虚拟机… 然而沉迷Windows的我已经忘记自己对这台虚拟机做过什么(比如装残了一个ycm自己都不知道 ...
- MyEclipse如何使用debug模式
知道如何打断点,如何进入debug与debug模式的视图,还有工具栏的使用和快捷键的使用 https://blog.csdn.net/menglanyingfei/article/details/55 ...
- webpack打包指定HTML的文件并引入指定的chunks
1. 安装 html-webpack-plugin npm install html-webpack-plugin --save-dev 2. 在webpack.config.js中配置 const ...
- filebeat+redis+logstash+elasticsearch+kibana搭建日志分析系统
filebeat+redis+elk搭建日志分析系统 官网下载地址:https://www.elastic.co/downloads 1.下载安装filebeat wget https://artif ...
- vs nuget 本地安装 nupkg包
Install-Package fluentnhibernate -Source C:\Users\Alex\AppData\Local\NuGet\Cache\ 包名 路径
- <input> type 属性
单行文本域 语法格式:<input type = “text” 属性 = “值” /> 常用属性 1 name:文本框的名字.命名规则是:可以包含字母.数字.下划线,只能以字母开头. ...
- python基础-基础知识考试_day5 (包括:函数_递归等知识)
老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0, False, '', [], {}, () 2.写函数:根据范围获取其中 3 和 7 整除的所有数的和, ...
- 用Axure RP7创建响应式原型教程
自从几年前响应式技术开始应用时,创建响应式原型就成为了很多人苦恼的事情.响应式设计用一种非常优雅的方式处理为多种设备类型使用HTML和CSS编码的应用,但是提供给UX专业人士的原型工具却没有具备同样品 ...