jQuery扁平对话框插件gDialog js代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 jQuery扁平对话框插件gDialog js代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图:

jQuery扁平对话框插件gDialog js代码

HTML代码(index.html):

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery扁平对话框插件gDialog</title>
<link href="src/normalize.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="src/animate.min.css">
<link rel="stylesheet" href="src/jquery.gDialog.css">
<style>
button { border:0;}
.container { margin:50px auto; max-width:728px;text-align:center;font-family:Arial;}
.btn {background-color:#ED5565; color:#fff; padding:20px; margin:10px 30px; border-radius:5px; border-bottom:3px solid #DA4453;}
</style>
</head>

<body>
<div class="container">
<h1>jQuery gDialog Plugin Exampels</h1>
<button class="btn demo-1">Alert Dialog Box</button>
<button class="btn demo-2">Prompt Dialog Box</button>
<button class="btn demo-3">Prompt Dialog Box</button>
</div>
<script src="src/jquery.js"></script>
<script src="src/jquery.gDialog.js"></script>
<script>
$('.demo-1').click(function(){
  $.gDialog.alert("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse libero erat, scelerisque sit amet dolor nec, euismod feugiat massa.", {
    title: "Alert Dialog Box",
    animateIn: "bounceIn",
    animateOut: "bounceOut"
  });
});  
$('.demo-2').click(function(){
  $.gDialog.prompt("内容", "#", {
    title: "Prompt Dialog Box",
    required: true,
	animateIn : "rollIn",
    animateOut: "rollOut"
  });
}); 
$('.demo-3').click(function(){
  $.gDialog.confirm("Are You Sure?", {
    title: "Confirm Dialog Box",
	animateIn : "bounceInDown",
    animateOut: "bounceOutUp"
  });
});                         
</script>
</body>
</html>










JS代码(jquery.gDialog.js):

'use strict';
	/** * jquery.gDialog.js * @version:v0.1.0 * @author:ogilvieira * * The MIT License (http://www.opensource.org/licenses/mit-license.php) * * Permission is hereby granted,free of charge,to any person * obtaining a copy of this software and associated documentation * files (the "Software"),to deal in the Software without * restriction,including without limitation the rights to use,* copy,modify,merge,publish,distribute,sublicense,and/or sell * copies of the Software,and to permit persons to whom the * Software is furnished to do so,subject to the following * conditions:* * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS",WITHOUT WARRANTY OF ANY KIND,* EXPRESS OR IMPLIED,INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM,DAMAGES OR OTHER LIABILITY,* WHETHER IN AN ACTION OF CONTRACT,TORT OR OTHERWISE,ARISING * FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */
(function (factory){
	if (typeof define === 'function' && define.amd){
	define(['jquery'],factory);
}
else if (typeof exports === 'object'){
	module.exports = factory(require('jquery'));
}
else{
	factory(jQuery || Zepto);
}
}
(function($){
	var m ={
}
;
	var g ={
}
;
	m.OPENING = false;
	m._OPTIONS ={
	title:false,animateIn:false,animateOut:false,onSubmit:false,onCancel:false,required:false,}
;
	m.tplBase = "<div class=\"gdialog-wrap\">";
	m.tplBase += "<div class=\"gdialog-container\">";
	m.tplBase += "{
	{
	HEADER}
}
";
	m.tplBase += "<div class=\"gdialog-content\">{
	{
	message}
}
{
	{
	INPUT}
}
</div>";
	m.tplBase += "<div class=\"gdialog-button-group\">{
	{
	BUTTON_CANCEL}
}
<button class=\"button button-ok\">Ok</button></div>";
	m.tplBase += "</div>";
	m.tplBase += "</div>";
	m.tplHeader = "<div class=\"gdialog-header\">{
	{
	title}
}
</div>";
	m.tplInput = "<div class=\"gdialog-field\"><input type=\"text\"></div>";
	m.getTeplate = function(type,message,options){
	var t = m.tplBase;
	if( type !== 'alert' ){
	t = t.replace("{
	{
	BUTTON_CANCEL}
}
","<button class=\"button button-cancel\">Cancel</button>");
}
else{
	t = t.replace("{
	{
	BUTTON_CANCEL}
}
","");
}
if( type == 'prompt' ){
	t = t.replace("{
	{
	INPUT}
}
",m.tplInput);
}
else{
	t = t.replace("{
	{
	INPUT}
}
","");
}
if( options.title ){
	t = t.replace("{
	{
	HEADER}
}
",m.tplHeader.replace("{
	{
	title}
}
",options.title) );
}
else{
	t = t.replace("{
	{
	HEADER}
}
","");
}
t = t.replace("{
	{
	message}
}
",message );
	return t;
}
;
	m.clear = function(){
	$('.gdialog-shadow').length ? $('.gdialog-shadow').remove():'';
	$('.gdialog-wrap').length ? $('.gdialog-wrap').remove():'';
}
;
	m.Dialog = function(){
	var that = this;
	that.close = function(){
	$('.gdialog-shadow').addClass("animated fadeOut");
	if( that.options.animateOut ){
	if( that.options.animateIn ){
	that.container.find('.gdialog-container').removeClass(that.options.animateIn)}
that.container.find('.gdialog-container').addClass('animated '+that.options.animateOut);
	setTimeout(function(){
	that.container.removeClass('is-active');
	that.container.remove();
	m.OPENING = false;
	$('.gdialog-shadow').remove();
}
,800);
}
else{
	that.container.remove();
	m.OPENING = false;
	$('.gdialog-shadow').remove();
}
}
;
	that.addEvents = function(){
	that.btnOk.on("click",function(e){
	e.preventDefault();
	var res = false;
	if( that.field.length ){
	if( that.options.required == true && !that.field.val().length ){
	that.field.addClass('is-invalid');
	return false;
}
else{
	that.field.removeClass('is-invalid');
	res = that.field.val();
}
}
else{
	res = true;
}
if( typeof that.options.onSubmit == 'function' ){
	that.options.onSubmit(res);
}
that.close();
}
);
	that.btnCancel.on("click",function(e){
	e.preventDefault();
	var res = false;
	if( that.field.length && that.field.val().length !== 0 ){
	res = that.field.val();
}
if( typeof that.options.onCancel == 'function' ){
	that.options.onCancel(res);
}
that.close();
}
);
}
this.init = function(type,message,options,defaultValue){
	if( m.OPENING ){
	$('.gdialog-shadow,.gdialog-wrap').remove();
}
m.clear();
	that.options = m.getOptions(options);
	$('body').append("<div class=\"gdialog-shadow\"></div> "+m.getTeplate(type,message,that.options) );
	that.container = $('body').find('.gdialog-wrap');
	that.btnOk = that.container.find('.button-ok');
	that.btnCancel = that.container.find('.button-cancel');
	that.field = that.container.find('input');
	if( defaultValue && that.field.length ){
	that.field.val(defaultValue);
}
;
	that.container.addClass('is-active').css({
	'top':$(window).scrollTop()+50}
);
	if( that.options.animateIn ){
	that.container.find('.gdialog-container').addClass('animated '+that.options.animateIn);
}
m.OPENING = true;
	that.addEvents();
}
;
}
;
	m.getOptions = function(options){
	var o = $.extend({
}
,m._OPTIONS);
	if( typeof options == 'object' ){
	$.each(options,function(key,val){
	o[key] !== undefined ? o[key] = val:console.error("The option \""+key+"\" not exist.");
}
);
}
return o;
}
;
	//global functions g.alert = function(message,userOptions){
	var message = message || "";
	var userOptions = userOptions ||{
}
;
	var dialog = new m.Dialog;
	dialog.init('alert',message,userOptions);
}
;
	g.confirm = function(message,userOptions){
	var message = message || "";
	var userOptions = userOptions ||{
}
;
	var dialog = new m.Dialog;
	dialog.init('confirm',message,userOptions);
}
;
	g.prompt = function(message,defaultValue,userOptions){
	var message = message || "";
	var userOptions = userOptions ||{
}
;
	var dialog = new m.Dialog;
	dialog.init('prompt',message,userOptions,defaultValue);
}
;
	g.config = function(options){
	if( typeof options !== 'object' ){
	return false;
}
$.each(options,function(key,val){
	m._OPTIONS[key] !== undefined ? m._OPTIONS[key] = val:console.error("The option \""+key+"\" not exist.");
}
);
}
;
	$.gDialog = $.gDialog || g;
}
));
	//www.sucaijiayuan.com

CSS代码(normalize.css):

/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change,without disabling * user zoom. */
html{font-family:sans-serif;/* 1 */
 -ms-text-size-adjust:100%;/* 2 */
 -webkit-text-size-adjust:100%;/* 2 */
}
/** * Remove default margin. */
body{margin:0;}
/* HTML5 display definitions ========================================================================== */
/** * Correct `block` display not defined for any HTML5 element in IE 8/9. * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. * Correct `block` display not defined for `main` in IE 11. */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}
/** * 1. Correct `inline-block` display not defined in IE 8/9. * 2. Normalize vertical alignment of `progress` in Chrome,Firefox,and Opera. */
audio,canvas,progress,video{display:inline-block;/* 1 */
 vertical-align:baseline;/* 2 */
}
/** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */
audio:not([controls]){display:none;height:0;}
/** * Address `[hidden]` styling not present in IE 8/9/10. * Hide the `template` element in IE 8/9/11,Safari,and Firefox < 22. */
[hidden],template{display:none;}
/* Links ========================================================================== */
/** * Remove the gray background color from active links in IE 10. */
a{background:transparent;}
/** * Improve readability when focused and also mouse hovered in all browsers. */
a:active,a:hover{outline:0;}
/* Text-level semantics ========================================================================== */
/** * Address styling not present in IE 8/9/10/11,Safari,and Chrome. */
abbr[title]{border-bottom:1px dotted;}
/** * Address style set to `bolder` in Firefox 4+,Safari,and Chrome. */
b,strong{font-weight:bold;}
/** * Address styling not present in Safari and Chrome. */
dfn{font-style:italic;}
/** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+,Safari,and Chrome. */
h1{font-size:2em;margin:0.67em 0;}
/** * Address styling not present in IE 8/9. */
mark{background:#ff0;color:#000;}
/** * Address inconsistent and variable font size in all browsers. */
small{font-size:80%;}
/** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sup{top:-0.5em;}
sub{bottom:-0.25em;}
/* Embedded content ========================================================================== */
/** * Remove border when inside `a` element in IE 8/9/10. */
img{border:0;}
/** * Correct overflow not hidden in IE 9/10/11. */
svg:not(:root){overflow:hidden;}
/* Grouping content ========================================================================== */
/** * Address margin not present in IE 8/9 and Safari. */
figure{margin:1em 40px;}
/** * Address differences between Firefox and other browsers. */
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}
/** * Contain overflow in all browsers. */
pre{overflow:auto;}
/** * Address odd `em`-unit font size rendering in all browsers. */
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;}
/* Forms ========================================================================== */
/** * Known limitation:by default,Chrome and Safari on OS X allow very limited * styling of `select`,unless a `border` property is set. */
/** * 1. Correct color not being inherited. * Known issue:affects color of disabled elements. * 2. Correct font properties not being inherited. * 3. Address margins set differently in Firefox 4+,Safari,and Chrome. */
button,input,optgroup,select,textarea{color:inherit;/* 1 */
 font:inherit;/* 2 */
 margin:0;/* 3 */
}
/** * Address `overflow` set to `hidden` in IE 8/9/10/11. */
button{overflow:visible;}
/** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Firefox,IE 8/9/10/11,and Opera. * Correct `select` style inheritance in Firefox. */
button,select{text-transform:none;}
/** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */
button,html input[type="button"],/* 1 */
input[type="reset"],input[type="submit"]{-webkit-appearance:button;/* 2 */
 cursor:pointer;/* 3 */
}
/** * Re-set default cursor for disabled elements. */
button[disabled],html input[disabled]{cursor:default;}
/** * Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
/** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */
input{line-height:normal;}
/** * It's recommended that you don't attempt to style these elements. * Firefox's implementation doesn't respect box-sizing,padding,or width. * * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;/* 1 */
 padding:0;/* 2 */
}
/** * Fix the cursor style for Chrome's increment/decrement buttons. For certain * `font-size` values of the `input`,it causes the cursor style of the * decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto;}
/** * 1. Address `appearance` set to `searchfield` in Safari and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome * (include `-moz` to future-proof). */
input[type="search"]{-webkit-appearance:textfield;/* 1 */
 -moz-box-sizing:content-box;-webkit-box-sizing:content-box;/* 2 */
 box-sizing:content-box;}
/** * Remove inner padding and search cancel button in Safari and Chrome on OS X. * Safari (but not Chrome) clips the cancel button when the search input has * padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
/** * Define consistent border,margin,and padding. */
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}
/** * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend{border:0;/* 1 */
 padding:0;/* 2 */
}
/** * Remove default vertical scrollbar in IE 8/9/10/11. */
textarea{overflow:auto;}
/** * Don't inherit the `font-weight` (applied by a rule above). * NOTE:the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup{font-weight:bold;}
/* Tables ========================================================================== */
/** * Remove most spacing between table cells. */
table{border-collapse:collapse;border-spacing:0;}
td,th{padding:0;}
附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
45.36 KB
jquery特效4
最新结算
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
HTML5实现CSS滤镜图片切换特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery+css3实现信封效果
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章