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 相关文章推荐
javascript多种数据类型表格排序代码分析
Sep 11 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
Jun 12 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
基于slideout.js实现移动端侧边栏滑动特效
Nov 28 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
vue axios用法教程详解
Jul 23 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
Jan 22 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 Javascript
微信小程序indexOf的替换方法(推荐)
Jan 14 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新手上路(十二)
2006/10/09 PHP
codeigniter框架批量插入数据
2014/01/09 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
使javascript也能包含文件
2006/10/26 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
详解Python中DOM方法的动态性
2015/04/11 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
电气技术员岗位职责
2013/11/19 职场文书
舞蹈教育学专业推荐信
2013/11/27 职场文书
酒店总经理助理职责
2014/02/12 职场文书
触电现场处置方案
2014/05/14 职场文书
应届大学生自荐书
2014/06/17 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
2015年端午节活动方案
2015/05/05 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书