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!‘);
        }
    });
});
时间: 2024-12-29 11:13:14

jquery.barddialog.js的相关文章

页面滚动图片等元素动态加载插件jquery.scrollLoading.js

如果一个网页很长,那么该页面的加载时间也会相应的较长.而这里给大家介绍的这个jQuery插件scrollLoading的作用则是,对页面元素进行动态加载,通俗的说就是滚到哪就加载到哪,屏幕以下看不见的就不用加载了.这样还可以在一定程度上节省服务器资源.该插件作者的网页将该插件的功能和使用方法描述的非常详细,这里把最一般最普遍的使用情况给大家展现一下. 插件作者:http://www.zhangxinxu.com/ 首先我们需要加载jQuery库和本插件js文件. (jquery.scrollLo

c#+jquery.autocomplete.js

html代码: $(document).ready(function () { $.ajax({ type: "POST", contentType: "json", url: "a.ashx?action=findlist", data: "{}", dataType: "html", success: function (data) { var dataset = eval('(' + data + '

js效果笔记:怎样实现图片的懒加载以及jquery.lazyload.js的使用

在项目中有时候会用到图片的延迟加载,那么延迟加载的好处是啥呢? 我觉得主要包括两点吧,第一是在包含很多大图片长页面中延迟加载图片可以加快页面加载速度:第二是帮助降低服务器负担. 下面介绍一下常用的延迟加载插件jquery.lazyload.js以及怎样实现一个延迟加载的插件. 一:jquery.lazyload.js插件 lazyload是jQuery写的延迟加载插件,在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的. 实现原理 首

用这个插件jquery.raty.js————用于星星评价(这个案例用于后台传数据给我,前台显示星星个数)

1.引入jquery.js文件 2.引入jquery.raty.js 3.页面中放在这个:<span class="readOnly" data-path="images" ><i>4.5</i></span> 4.js: function star(obj,num){ $(obj).raty({ path: function() { return this.getAttribute('data-path');//路径

关于jquery.uploadify.js不兼容IE11

我们使用jquery.uploadify.js插件进行文件上传的时候,可能会遇到在IE11浏览器下点击上传按钮没有反应,看到很多博友们说的天花烂坠,最后问题没有解决掉,其实问题很简单,只是这个问题又很难被发现,那么接下来进入正式话题---- 之所以IE11没有显示出上传的对话框是因为这个插件的一个样式所导致,既:z-index 解决方案:打开jquery.uploadify.js插件,Ctrl+F,搜索z-index,此刻你会发现插件的z-index:1,就是这个原因导致IE11显示不出来,改成

jQuery.form.js jQuery ajax异步提交form

jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传. 官网下载地址:http://plugins.jquery.com/form/ API ajaxForm 增加所有需要的事件监听器,为ajax提交表单做准备.ajaxForm并不能提交表单.在document的ready函数中,使用ajaxForm来为ajax提交表单进行准备. 接受0个或1个参数.参数可以是一个回调函数,也可以是一个Options对象. $("#formid").ajaxForm(

jquery.cookie.js使用

1.下载jquery.cookie.js 官网:http://plugins.jquery.com/cookie/ 或 http://pan.baidu.com/s/1mgynA8g 2.使用方法 复制代码 $.cookie('the_cookie'); // 获得cookie $.cookie('the_cookie', 'the_value'); // 设置cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); //设置带时间的

jquery.pjax.js bug问题解决集锦

jquery.pjax 是一个很好的局部刷新插件,但实际应用过程是还是会有很多小问题,部分问题解决如下: 1.pjax 局部加载时候,IE 存在缓存问题,很容易理解,pjax是通过jquery的ajax加载局部内容的,默认cache=true,这会导致ie下get数据从缓存中获取,解决办法是设置pjax options的cache=false,这样请求会自动变成如下方式: /XXXX?_pjax=%23pjax-container&_=1455092848927 2.pjax 与 jquery

jQuery延迟加载(懒加载)插件 – jquery.lazyload.js

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的.在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担. Demo页面: 基本选项 淡入效果 对不支持JavaScript浏览器的降级处理 水平滚动 容器内水平滚动 容器内垂直滚动 页