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 相关文章推荐
Js如何判断客户端是PC还是手持设备简单分析
Nov 22 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
Nov 06 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
axios post提交formdata的实例
Mar 16 Javascript
浅谈Vue.use的使用
Aug 29 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
原生js实现碰撞检测
Mar 12 Javascript
javascript实现滚动条效果
Mar 24 Javascript
vue使用better-scroll实现滑动以及左右联动
Jun 30 Javascript
vue实现井字棋游戏
Sep 29 Javascript
vue3.0搭配.net core实现文件上传组件
Oct 29 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删除文件夹的三种方法
2013/06/09 PHP
PHP5.3新特性小结
2016/02/14 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
php图片添加水印例子
2016/07/20 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
生日宴会策划方案
2014/06/03 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
村主任当选感言
2015/08/01 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
Python爬取某拍短视频
2021/06/11 Python
HTML中的表单元素介绍
2022/02/28 HTML / CSS