清洁和现代平面设计
充分响应
轻量级的、功能强大的
基于Bootstrap 开发
CSS3动画在现代浏览器
jQuery提供动力
跨浏览器支持
确认对话框
new $.flavr({ content : 'Press a button', dialog : 'confirm', onConfirm : function( $container ){ alert('You pressed Confirm!'); return false; }, onCancel : function( $container ){ alert('You pressed Cancel'); } });
提示对话框
new $.flavr({ content : 'Please enter your name', dialog : 'prompt', prompt : { value: 'Harry Potter', addClass: 'prompt-name' }, onConfirm : function( $container, $prompt ){ alert('Howdy ' + $prompt.val() + ' !'); return false; } });
表单对话框
var html = ' <div class="form-row">' + ' <input type="text" name="username" ' + ' placeholder="Username" />' + ' </div>' + ' <div class="form-row">' + ' <input type="password" name="password" ' + ' placeholder="Password" />' + ' </div>' + ' <div class="form-row">' + ' <input type="checkbox" name="remember" ' + ' id="check"/>' + ' <label for="check">Remember me</label>' + ' </div>'; new $.flavr({ title : 'Form', content : 'Please login to continue', dialog : 'form', form : { content: html, addClass: 'form-html' }, onSubmit : function( $container, $form ){ alert( $form.serialize() ); return false; } });
还有其他一些用法在页面源代码中写得很详细,我就不一一列举了!
当时只是看了一下觉得很简单就直接上传了,看了评论说js很多,我疏忽了大家对一些js插件不认识。谢谢大家的提醒现在我补充一下demo中那些是必须的,那些是按自己需要加载的。
<!-- Google字体,根据需要更换国内的在线字体服务或者用系统默认的字体,非必须加载项 --> <link rel="stylesheet" type="text/css" href="./index_files/lato.css"> <!-- DEMO PAGE CSS --> <!-- bootstrap框架 --> <link rel="stylesheet" type="text/css" href="./index_files/bootstrap.min.css"> <!-- fontawesome是一个免费的图标字体,根据自己的项目需要加载(现在网页基本上用这用图标字体了,代替图片,加快网页速度,节省流量等一系列优点,不知道的朋友请百度)--> <link rel="stylesheet" type="text/css" href="./index_files/fontawesome.css"> <!-- 下面两个css为demo样式,demo网页背景相关的样式,个人项目中无需引入 --> <link rel="stylesheet" type="text/css" href="./index_files/default.css"> <link rel="stylesheet" type="text/css" href="./index_files/style.css"> <!-- END DEMO PAGE CSS --> <!-- flavr CSS 下面是本插件的核心css文件,必须加载--> <!-- animate.css 是github上很受欢迎的css3动画类库,本插件的所有动画都是靠animate.css实现的,如果你不需要弹出层有动画效果的话也可以不用加载 --> <link rel="stylesheet" type="text/css" href="./index_files/animate.css"> <!-- 插件样式,必须加载 --> <link rel="stylesheet" type="text/css" href="./index_files/flavr.css"> <!-- END flavr CSS -->
上面是css的引入问题,下面是js的引入
<!-- jQuery和bootstrap必须加载,这个是弹窗的基本提供 --> <script type="text/javascript" src="./index_files/jquery.min.js"></script> <script type="text/javascript" src="./index_files/bootstrap.min.js"></script> <!-- 下面两个是点击demo按钮时触发的效果,不需要加载 --> <script type="text/javascript" src="./index_files/jquery.browser.js"></script> <script type="text/javascript" src="./index_files/livedemo.js"></script> <!-- 下面插件是代码高亮插件,只是给大家在demo页面上看到更直观的代码而已,实际项目中无需加载 --> <script type="text/javascript" src="./index_files/highlight.pack.js"></script> <script>hljs.initHighlightingOnLoad();//初始化代码高亮</script> <!-- BEGIN flavr SCRIPT --> <!-- 下面是插件核心代码,必须加载 --> <script type="text/javascript" src="./index_files/flavr.min.js"></script> <!-- END flavr SCRIPT -->
页面中最底下的代码解释:
<script type="text/javascript"> $(document).ready(function(){ $('.livedemo').livedemo(); //demo按钮点击时事件 $('.footer .socials a').on('mouseenter', function(){ var animationEnd = 'webkitAnimationEnd oanimationend msAnimationEnd animationend'; $(this).addClass('swing animated').bind( animationEnd, function(){ $(this).removeClass('swing animated'); }); }); $('.demo-block .demo-actions .btn-demo').on('click', function(e){ e.preventDefault(); }); /** * 下面是每个对话框实例化的方法,例如第一个最简单的对话框(一点点解释吧0.0): * $('#demo-alert .demo-actions .btn-demo').on('click', function(){ new $.flavr('Hello World!'); }); $('#demo-alert .demo-actions .btn-demo') jQuery获取一个class名为.btn-demo的按钮,前面两个实际是缩小范围获取这个按钮 真正实例化flavr是这段代码:new $.flavr('Hello World!');(你可以建立一个测试页面把hello word 改为其他的字符,这样你能更直观理解这个插件) 下面的代码分别对应了每个实例的弹出框的方法,大家可以对应着写 之前是我疏忽了大家可能看不懂的原因,现在我大致写了一些,如果大家对jQuery、bootstrap、 animate.css不知道的请百度吧0.0 */ /* ------------------------------------------------------------------------------- Simple Alert ------------------------------------------------------------------------------- */ $('#demo-alert .demo-actions .btn-demo').on('click', function(){ new $.flavr('Hello World!'); }); ......... </script>
好了,大家需要知道的引入js、css问题已经跟大家做了一个详细的注释,希望对大家有帮助。对于兼容性问题,这个我就不做解释了,后续我会看大家评论关注什么,我会尽量解释,对之前造成困扰的童鞋非常sorry~
/** * 封装flavr,方便使用 */ var Flavr = function() { //动画数组 var animates = ["tada", "swing", "shake", "rubberBand", "bounce", "pulse"]; //获取随机动画 function getAnimate() { return animates[Math.floor(Math.random() * animates.length)]; } var fr = { /** * 弹窗信息 * @param {String} 信息内容 */ alert: function(msg) { new $.flavr({ buttons: { OK: { text: 'OK', style: 'default', addClass: null, action: null } }, animateEntrance: getAnimate(), content: msg }); }, /** * 提示信息 * @param {String} 信息内容 */ msg: function(msg) { new $.flavr({ modal: false, autoclose: true, timeout: 2000, buttons: {}, animateEntrance: getAnimate(), content: msg }); }, /** * 确认信息 * @param {String} 信息内容 * @param {Function} 确认回调函数 * @param {Function} 取消回调函数 */ confirm: function(msg, okBack, cancelBack) { new $.flavr({ dialog: 'confirm', buttons: { OK: { text: '确认', style: 'danger', addClass: null, action: okBack }, CANCEL: { text: '取消', addClass: null, action: cancelBack } }, animateEntrance: getAnimate(), content: msg }); } } return fr; } var flavr = new Flavr(); flavr.alert("Flavr Alert"); flavr.msg("Flavr Msg"); flavr.confirm("确定删除吗?", function() { flavr.msg("删除成功"); });回复
把按钮内容变成中文实例,我是参考多个按钮demo改出来的
new $.flavr({ content: 'How old are you?', dialog: 'prompt', prompt: { placeholder: 'Enter something' }, buttons: { danger: { text: '确定', style: 'danger', action: function() { alert('Mission failed!'); return false; } }, cancel: { text: '取消', style: 'default' } }, });回复