jquery ui bootstrap 实现自定义风格


Posted in Javascript onNovember 14, 2014

首先看一下自定义提示框的效果图

alert 普通的提示当然可以自定义样式

jquery ui bootstrap 实现自定义风格

confrim 确认框 支持callback

//message 提示的信息 ,callback(true/false)回调函数

 window.shconfirm = function (message, callback) 

回调函数参数为 true/false

jquery ui bootstrap 实现自定义风格

prompt 邀请用户输入框

//message 提示的信息 ,callback(msg)回调函数(用户输入的消息), param:regex 输入的 正则验证,regexmsg 正则验证不通过的提示

 window.shprompt = function (message, callback, regex, regexmsg)

这里 message 为提示消息  *

    callback 为回调函数 *  回传参数为 用户输入的值(userinputmsg)

   regex 和 regexmsg 这2个参数是 选填项 用于验证用户输入,2个参数需要同时出现。不能单独使用。

jquery ui bootstrap 实现自定义风格

以下是js的实现,

当前这个是整合了 jquery ui 和 bootstrap 自己封装的一个 alert 提示。

(function () {

    var _shconfirm = {};

    var _shprompt = {};

    //闭包初始化;

    $(function () {

        $("#dialogalert").dialog({

            modal: true,

            autoOpen: false,

            show: {

                effect: "blind",

                duration: 500

            },

            hide: {

                effect: "explode",

                duration: 500

            },

            buttons: {

                确定: function () {

                    $(this).dialog("close");

                }

            }

        });

        $("#dialogconfirm").dialog({

            modal: true,

            autoOpen: false,

            show: {

                effect: "slide",

                duration: 500

            },

            hide: {

                effect: "drop",

                duration: 500

            },

            buttons: {

                确定: function () {

                    _shconfirm.shconfirmCallBack(true);

                    $(this).dialog("close");

                },

                取消: function () {

                    _shconfirm.shconfirmCallBack(false);

                    $(this).dialog("close");

                }

            }

        });

        $("#dialogprompt").dialog({

            modal: true,

            autoOpen: false,

            show: {

                effect: "blind",

                duration: 500

            },

            hide: {

                effect: "puff",

                duration: 500

            },

            buttons: {

                确定: function () {

                    if (_shprompt.shpromptObj.regex) {

                        if (!_shprompt.shpromptObj.regex.test($("#dialogprompt .text").val())) {

                            $("#dialogprompt .alert .promptmsg").html(_shprompt.shpromptObj.regexmsg);

                            $("#dialogprompt .alert").slideDown();

                            return;

                        } else {

                            $("#dialogprompt .alert").hide();

                        }

                    }

                    _shprompt.shpromptObj.callback($("#dialogprompt .text").val());

                    $(this).dialog("close");

                },

                取消: function () {

                    _shprompt.shpromptObj.callback($("#dialogprompt .text").val());

                    $(this).dialog("close");

                }

            }

        });

    });

    window.shalert = function (message) {

        $("#dialogalert .msgcontent").html(message);

        $("#dialogalert").dialog("open");

    };

    //message 提示的信息 ,callback(true/false)回调函数

    window.shconfirm = function (message, callback) {

        $("#dialogconfirm .msgcontent").html(message);

        $("#dialogconfirm").dialog("open");

        _shconfirm.shconfirmCallBack = callback;

    };

    //message 提示的信息 ,callback(msg)回调函数(用户输入的消息), param:regex 输入的 正则验证,regexmsg 正则验证不通过的提示

    window.shprompt = function (message, callback, regex, regexmsg) {

        $("#dialogprompt .msgcontent").html(message);

        $("#dialogprompt").dialog("open");

        _shprompt.shpromptObj = {

            callback: callback,

            regex: regex,

            regexmsg: regexmsg

        };

    }

})();

以下是调用代码

confirm //比可惜的是 js没法模拟 js脚本暂停 所以只能以回调函数的方式 来继续下一步操作。

function ShConfirm() {

            shconfirm("确定要这么做吗!", function (result) {

                if (result) {

                    alert("点击了确定");

                } else {

                    alert("点击了取消");

                }

            });

        }
  function ShPrompt() {

            shprompt("请问1+1等于几!", function (text) {

                alert("用户输入了:" + text);

            }, /^\d{1,}$/, "请输入数字!");

        }

shalert 就直接用就行了。和 js的alert 效果一样。

<input type="button" name="name" value="ShAlert" onclick="shalert('保存成功!');" />

    <input type="button" name="name" value="ShConfirm" onclick="ShConfirm()" />

    <input type="button" name="name" value="ShPrompt" onclick="ShPrompt()" />

源码我已经放在了 百度网盘上,欢迎大家学习交流。

源码下载地址

http://pan.baidu.com/s/1c00Cl36

这个控件其实还有可重构的部分,比如初始化方法等等这些都没有提取出来,因为任务紧所以先这么用着。

下一次优化时会处理这些问题。

原版风格是这样的,可以通过修改引用的css上实现 demo上有详细说明。

jquery ui bootstrap 实现自定义风格

jquery ui bootstrap 实现自定义风格

jquery ui bootstrap 实现自定义风格

以上就是本文全部内容了,怎么样,受益匪浅吧。

Javascript 相关文章推荐
TopList标签和JavaScript结合两例
Aug 12 Javascript
Jquery阻止事件冒泡 event.stopPropagation
Dec 11 Javascript
jQuery避免$符和其他JS库冲突的方法对比
Feb 20 Javascript
javascript中Number对象的toString()方法分析
Dec 20 Javascript
使用Javascript实现选择下拉菜单互移并排序
Feb 23 Javascript
JS学习之表格的排序简单实例
May 16 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
Angular4实现动态添加删除表单输入框功能
Aug 11 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
小程序实现筛子抽奖
May 26 Javascript
使用node.js 制作网站前台后台
Nov 13 #Javascript
JavaScript 作用域链解析
Nov 13 #Javascript
jQuery $命名冲突解决方案汇总
Nov 13 #Javascript
js获取字符串最后一位方法汇总
Nov 13 #Javascript
实现js保留小数点后N位的代码
Nov 13 #Javascript
详谈jQuery中的this和$(this)
Nov 13 #Javascript
FF(火狐)浏览器无法执行window.close()解决方案
Nov 13 #Javascript
You might like
Php Cookie的一个使用注意点
2008/11/08 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
js获取上传文件大小示例代码
2014/04/10 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
Python实现截屏的函数
2015/07/26 Python
Python爬取三国演义的实现方法
2016/09/12 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
《理想的风筝》教学反思
2014/04/11 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
如何撰写创业策划书
2019/06/27 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS