热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:基于JQ的自定义弹窗组件

本文由编程笔记#小编为大家整理,主要介绍了基于JQ的自定义弹窗组件相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了基于JQ的自定义弹窗组件相关的知识,希望对你有一定的参考价值。




DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基于JQ的自定义弹窗组件title>
    

    

head>
  
  <body>
<div id="box">
<a href="Javascript:;" class="btnModel">按钮弹窗a>
<a href="Javascript:;" class="tipModel">提示弹窗a>
<a href="Javascript:;" class="loadModel">加载弹窗a>
<input type="submit" value="提交">
div>
body>

html>


技术分享图片技术分享图片

window.Onresize= function() {
/*
默认设置字体为可视区/7.5 -----max:256px min
*/
document.documentElement.style.fontSize
= document.documentElement.clientWidth / 7.5 + ‘px‘;

var deviceWidth = document.documentElement.clientWidth;

if (deviceWidth > 640) {
deviceWidth
= 640
}
};
onresize();


rem.js

技术分享图片技术分享图片

@charset "UTF-8";
body,div,dl,dt,dd,ul,li,pre,form,fieldset,select,input,textarea,button,p,img,iframe
{ margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6
{ font-weight:normal; margin: 0; padding: 0; }
body
{ width: 100%; font-family: "microsoft yahei","SimSun","宋体"; background-color: #fff; -webkit-overflow-scrolling: touch;overflow-scrolling: touch; }
/* 重置button边框 */
button
{ border: none; }
/* 去掉列表前的标识, li 会继承 */
ol,ul
{list-style: none;}
/* 让链接默认不显示下划线*/
a
{cursor: pointer;text-decoration: none;}
/* 清理浮动 */
.clearfix:before,.clearfix:after
{ display: block; content: " "; clear: both; }
/* for ie67*/
.clearfix
{zoom: 1;}
/* HTML5 媒体文件跟 img 保持一致 */
audio,canvas,video
{ display: inline-block; *display: inline; *zoom: 1; }
address,caption,cite,code,dfn,em,th
{ font-style: normal; font-weight: normal; }
.box-sizing
{ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
/*p{ text-align:justify; text-justify:distribute;}*/
div, p, span
{ text-overflow: ellipsis; word-break: break-all; word-wrap: break-word; }
/*iphone及ipad下输入框默认内阴影*/
input, button
{ outline: none; -webkit-appearance: none; }
textarea
{ resize: none; outline: none; }
img
{ vertical-align: middle; border: 0; width: 100%; }
a:active, a:hover
{ outline: 0; }
/*iosandroid下触摸元素时出现半透明灰色遮罩*/
a, input
{ border: none; outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
input[type=button]
{ cursor: pointer; }
input[type=submit]
{ cursor: pointer; }


reset.css

技术分享图片技术分享图片

@charset "UTF-8";
/*
弹窗样式class --alert_Wrap 尽量不要修改样式名称,如若修改,JS文件中class也要做对应修改
*/
/*遮罩层*/
.alert_Wrap
{
position
: fixed;
width
: 100%;
height
: 100%;
left
: 0;
top
: 0;
background
: rgba(0,0,0,0.7);
z-index
: 99;
text-align
: center
}
/*弹窗盒子*/
.alert_Wrap .alertCont
{
position
: absolute;
border-radius
: 5px;
text-align
: center;
width
: 5.3rem;
background
: white;
top
:35%;
left
:1.1rem;
box-sizing
: border-box;
}
/*加载弹窗中的弹窗盒子*/
.alert_Wrap .alertLoad
{
background
: rgba(0,0,0,0);
}
/*弹窗标题*/
.alert_Wrap .alertTitle
{
font-size
: 0.28rem;
color
: black;
text-align
: center;
padding
: 0.2rem;
word-wrap
: break-word;
}
/*弹窗文本*/
.alert_Wrap .alertText
{
font-size
: 0.25rem;
color
: black;
text-align
: center;
padding-bottom
: 0.15rem;
word-wrap
: break-word;
}
/*弹窗文本域*/
.alert_Wrap .alertArea
{
font-size
: 0.28rem;
color
: black;
text-align
: center;
padding-top
: 0.1rem;
padding-bottom
: 0.15rem;
word-wrap
: break-word;
}
/*弹窗按钮*/
.alert_Wrap .alertBtn
{
width
: 100%;
background
: white;
text-align
: center;
border-bottom-right-radius
: 5px;
border-bottom-left-radius
: 5px;
height
: auto;
}
.alert_Wrap .alertBtn input
{
width
: 50%;
float
: left;
background
: whitesmoke;
color
: black;
cursor
: pointer;
padding
: 0.2rem;
font-size
: 0.28rem;
}
/*取消按钮*/
.alert_Wrap .alertBtn .cancel_btn
{
border-right
: 1px solid #d3cdcd;
border-top
: 1px solid #d3cdcd;
border-bottom-left-radius
: 5px;
}
/*确认按钮*/
.alert_Wrap .alertBtn .alert_confirm_btn
{
border-top
: 1px solid #d3cdcd;
border-bottom-right-radius
: 5px;
color
: rgb(0, 174, 255);
}
.alert_Wrap .alertBtn .confirm_int
{
width
: 100%;
border-bottom-right-radius
: 5px;
border-bottom-left-radius
: 5px;
}
/*加载图片*/
.alert_Wrap .load_img
{
width
: 40px;
height
: 40px;
position
: absolute;
left
: 50%;
top
:50%;
margin-left
: -20px;
margin-top
: -20px;
}
@media screen and (max-width:321px)
{
html,
body {
font-size
: 14px;
line-height
: 18px;
}
.alert_Wrap .alertInput
{
margin-left
: 0.03rem;
}
}
@media screen and (min-width:321px) and (max-width:400px)
{
html,
body {
font-size
: 16px;
line-height
: 22px;
}
.alert_Wrap .alertInput
{
margin-left
: 0.03rem;
}
}
@media screen and (min-width:400px)
{
html,
body {
font-size
: 18px;
line-height
: 28px;
}
.alert_Wrap .alertInput
{
margin-left
: 0.04rem;
}
}
@media screen and (min-width:640px)
{
html,body {
font-size
: 18px;
line-height
: 28px;
}
.alert_Wrap .alertInput
{
margin-left
: 0.05rem;
}
}


popup.css

技术分享图片技术分享图片

/*
@description --model:1.btn 2.tip 3.load
@param --setting --存放配置 $.extend() 外部配置可以覆盖默认配置
*/
function Popup() {
this.alertWrap = null;//遮罩层
this.alertCOnt= null;//弹窗盒子
this.result = {}; //消息存放
//默认配置参数
this.setting = {
// title:‘标题‘,
// tipText:‘说明文字‘,
// textArea : ‘额外添加区域‘,
// loadImg : ‘加载图片url‘,
showBtn: false, //true 显示按钮 false 隐藏 (默认没有按钮)
showDouble: false, //true 双按钮 false 单按钮
cancelText: ‘取消‘,//默认,外部定义可覆盖
confirmText: ‘确认‘
}
}
Popup.prototype.init
= function (options) {
$.extend(
this.setting, options); //默认配置与自定义配置
this.mark();
this.create();
this.dir();
};
//遮罩
Popup.prototype.mark = function () {
this.alertWrap = $("

");
};
//弹窗
Popup.prototype.create = function () {
this.alertCOnt= $("
");
//title
if (this.setting.title) {
this.alertTitle = $("
" + this.setting.title + "
");
this.alertCont.append(this.alertTitle);
}
//tipText
if (this.setting.tipText) {
this.alertText = $("
" + this.setting.tipText + "
");
this.alertCont.append(this.alertText);
}
//textArea
if (this.setting.textArea) {
this.alertArea = $("
" + this.setting.textArea + "
");
this.alertCont.append(this.alertArea);
}
//loadImg
if (this.setting.loadImg) {
this.alertCont.addClass("alertLoad");
this.alertLoadImg = $("this.setting.loadImg + "‘ />");
this.alertCont.append(this.alertLoadImg);
}
//showBtn
if (this.setting.showBtn && this.setting.showDouble === true) {
//
this.alertBtn = $("
");
this.cancel_btn = $("");
this.confirm_btn = $("");
this.alertBtn.append(this.cancel_btn);
this.alertBtn.append(this.confirm_btn);
this.alertCont.append(this.alertBtn);
}
else if (this.setting.showBtn && this.setting.showDouble === false) {
//
this.alertBtn = $("
");
this.confirm_btn = $("");
this.alertBtn.append(this.confirm_btn);
this.alertCont.append(this.alertBtn);
}
this.alertWrap.append(this.alertCont);
$(
"body").append(this.alertWrap);
};
//自定义函数
Popup.prototype.dir = function () {
var _this = this;
if (this.cancel_btn) {
this.cancel_btn.on("click", function () {
_this.alertWrap.remove();
_this.result
= {
cancel:
true,
showCancel:
"取消操作!"
};
if (_this.setting.success) {
_this.setting.success(_this.result);
}
})
}
if (this.confirm_btn) {
this.confirm_btn.on("click", function () {
_this.alertWrap.remove();
_this.result
= {
confirm:
true,
showCancel:
"确认操作!"
};
if (_this.setting.success) {
_this.setting.success(_this.result);
}
})
}
};
//关闭
Popup.prototype.close = function () {
this.alertWrap.remove();
};


popup.js

 

 




















































推荐阅读
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 如何高效渲染JSON数据
    本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 本文介绍了如何利用jQuery实现对网页上多个div元素的显示与隐藏控制,包括基本的toggle方法及更复杂的显示隐藏逻辑。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
author-avatar
安徒生笔下苍老了谁1_120
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有