【Origin】jquery.barddialog.js
/// <reference path="jquery-2.1.1.min.js" />
/**
* @license jquery.bardDialog 1.0.0
* (c) 1986-infinity China, Shanghai. CalosChen
* License: MIT
* Description:A responsive dialog box which provides several simple interface methods. Free to use, do whatever you want to it, just customize it.
*/ ; (function (clothes, $) {
'use strict';
var female = {
bed: function () {
return '<div class="dlgbed"></div>';
},
blanket: function () {
return '<div class="dlgblanket" />';
},
costume: function () {
return '<div class="dlgcostume"></div>';
},
hat: function (name) {
return '<h2 class="dlghat">' + name + '</h2>'
},
body: function (discourse) {
return '<div class="dlgbody">' + discourse + '</div>'
},
feet: '<div class="dlgfeet"><button class="promise">OK</button><button class="deny">Cancel</button></div>'
};
var dialog = function (dummy) {
var birthday = new Date().getTime();
var $bed = $(female.bed());
var $blanket = $(female.blanket());
var $costume = $(female.costume());
var $makeup = $costume.addClass(birthday.toString());
var world = { height: $(window).height(), width: $(window).width() };
var treasure = {};
var Calos = {
name: 'discourse', discourse: 'discourse', permit: function () {
$bed.remove();
},
repel: function () {
$bed.remove();
}
};
var God = $.extend({}, Calos);
dummy = $.extend(God, typeof dummy === 'string' ? { discourse: encodeURIComponent(dummy) } : dummy);
var male = {
shift: function () {
treasure = {
bed: $bed,
blanket: $blanket,
costume: $costume,
hat: $makeup.find('.dlghat'),
body: $makeup.find('.dlgbody'),
promise: $makeup.find('.promise'),
deny: $makeup.find('.deny')
};
},
birth: function (dummy) {
var bone = female.hat(dummy.name) + female.body(decodeURIComponent(dummy.discourse)) + female.feet;
$bed.append($blanket).append($costume.html(bone)).appendTo('body');
male.shift();
return this;
},
masquerade: function () {
treasure.bed.css({
opacity: 1,
'z-index': 1000,
height: world.height,
width: '100%',
position: 'fixed',
top: 0,
left: 0
});
treasure.blanket.css({
background: '#000',
opacity: 0.5,
height: world.height,
width: '100%',
position: 'absolute',
top: 0,
left: 0
});
treasure.costume.css({
background: 'white',
position: 'relative',
'border-radius': '5px',
padding: '0.3em',
margin: '30px auto',
'min-width': '15%',
width: 'string' !== typeof dummy.discourse && $(dummy.discourse).width() ? ($(dummy.discourse).width() + 50) : world.width / 3
});
treasure.costume.find('.dlgbody').css({
'max-height': world.height - 300, padding: '0.1em',
overflow: 'auto'
});
var cosmetics = '<style type="text/css">.dlgbed .dlgcostume {border:1px solid #CCCCCC;} .dlgbed div{overflow:auto;} .dlgbed button { float:right; margin-left:1em; height:3em;color:white;background-color: #286090; border:none;padding:1em; border-radius:5px } .dlgbed .dlghat{ border-bottom: 1px solid #CCCCCC;padding-left:0.5em;margin-feet:0.5em;} .dlgbed .dlgbody{padding:0 0 0 0.5em; overflow:hidden;} .dlgbed .dlgfeet{border-top: 1px solid #CCCCCC;padding-top: 0.5em;} </style>';
$(cosmetics).appendTo('head');
}
};
male.birth(dummy).masquerade();
treasure.promise.on('click', function () {
dummy.permit();
Calos.permit();
});
treasure.deny.on('click', function () {
dummy.repel();
Calos.repel();
});
return this;
};
clothes.dialog = dialog;
clothes.info = function (discourse) {
dialog({
name: 'Info', discourse: discourse
});
};
clothes.question = function (problem, agree) {
dialog({
name: 'Prompt', discourse: problem, promise: agree
});
};
clothes.warn = function (admonish) {
dialog({
name: 'Warning', discourse: admonish
});
};
clothes.danger = function (hazard) {
dialog({
name: 'Danger', discourse: hazard
});
};
}
)(this.bardDialog = this.bardDialog || {}, jQuery); $(function () {
bardDialog.dialog({
name: 'Hello', discourse: '<div style="">Have fun, bro.</div>', repel: function () {
alert('Oh, you repel it!');
}, permit: function () {
alert('Oops, you permit it!');
}
});
});
【Origin】jquery.barddialog.js的更多相关文章
- 【转】jquery.cookie.js的使用
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...
- 【转】jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- 【学习】jquery.placeholder.js让IE浏览器支持html5的placeholder
type为text或password的input,其在实际应用时,往往有一个占位符,类似这样的: 在没有html5前,一般写成value,用js实现交互,文本框获得焦点时,提示文字消失,失去焦点时,文 ...
- 【前端】:jQuery下
前言: 接上一篇博客: [前端]:jQuery上 一.jQuery属性操作 ① attr(设置或返回自定义属性值) input.select.textarea框中的内容, 可以通过attr来获取,但是 ...
- 【JavaScript】jQuery
No1: jQuery能帮我们干这些事情: 消除浏览器差异:你不需要自己写冗长的代码来针对不同的浏览器来绑定事件,编写AJAX等代码: 简洁的操作DOM的方法:写$('#test')肯定比docume ...
- 【笔记】jQuery插件开发指南
原文链接:http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html (有部分增删和修改) jQuery插件开发模式 软件开发过程中是需要一定 ...
- 【jquery】jquery.cookie.js 的使用指南
之前有写过一篇原生 js 的 cookie 介绍,并且最后封装成 cookie.js 具体内容点击传送门. jquery.cookie.js 是一款轻量级的 cookie 插件,可以读取,写入和删除 ...
- 【转载】jQuery全屏滚动插件fullPage.js
文章转载自dowebok http://www.dowebok.com/ 原文链接:http://www.dowebok.com/77.html 简介 如今我们经常能见到全屏网站,尤其是国外网站.这些 ...
- 【jQuery】jquery.metadata.js验证失效
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
随机推荐
- sql_action
CREATE TABLE w SELECT * FROM existing_table 2 日期x idm valuexm 日期x idn valuexn 日期y idm valueym 日期y ...
- nginx搭建http和rtmp协议的流媒体服务器
nginx搭建http和rtmp协议的流媒体服务器 时间:2013-09-23 23:52来源:佚名 作者:本站 举报 点击:232次 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtm ...
- 【No.1】监控Linux性能25个命令行工具
如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位 top vmstat lsof tcpdump netsta ...
- 蓝牙的L2CAP协议
1.概述 L2CAP能向上层提供面向连接的或者无连接的数据服务,拥有multiplexing capability and segmentation and reassembly operat ...
- Sublime Text3 protobuf syntax file(语法文件)
将以下两个文件放置在X:XXX\Sublime Text 3x64\Data\Packages\User目录下,就可以为sublime3添加protobuf文件的语法高亮规则. 文件名:Protobu ...
- python StringIO
模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中. 此类中的大部分函数都与对文件的操作方法类似. 例: 复制代码 代码如下: #coding=gbk import Strin ...
- ecshop详细的安装教程
ECShop 的安装非常简单.方便,任何一种编码程序的安装方法都是一样的(即 GBK 和 UTF-8 版本的安装方法是一样的) 1.安装前的准备 docs目录下存放有 ECShop 安装说明(inst ...
- TestNG学习-002-annotaton 注解概述及其执行顺序
此文主要讲述用 TestNG 基础的 annotation (注解)知识,及其执行的顺序,并通过一个 TestNG 简单的实例演示 annotation 的执行顺序. 希望能对初学 TestNG 测试 ...
- MVC中@Html.DisPlayFor(model=>model.newsName)和 @Model.newsName的区别
MVC中,在Controllers查询到数据,返回一个实体给View并显示,可以用@Html.DisPlayFor(model=>model.newsName)和 @Model.newsName ...
- 将option添加到select框
var select=document.createElement("select"); select.setAttribute("class","f ...