flavr—超级漂亮的jQuery扁平弹出对话框

所属分类:UI-弹出层

 81444  686  查看评论 (86)
flavr—超级漂亮的jQuery扁平弹出对话框 ie兼容8

flavr特点

  1. 清洁和现代平面设计
  2. 充分响应
  3. 轻量级的、功能强大的
  4. 基于Bootstrap 开发
  5. CSS3动画在现代浏览器
  6. jQuery提供动力
  7. 跨浏览器支持


调用示例

确认对话框

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~

相关插件-弹出层

jQuery弹出层插件gallery

这是一个图片弹出层
  弹出层
 15230  66

jQuery图像展示插件Strip

Strip是Lightbox的一种,它只能部分覆盖页面。这样就不会占用大的屏幕面积,适用于比较小的移动设备
  弹出层
 12774  82

漂亮实用的提示框插件SweetAlert

漂亮实用的提示框插件SweetAlert
  弹出层
 30554  365

jQuery弹出层插件LIGHTBOX

这款lightbox,可应用于图片、swf文件、html文件等等.
  弹出层
 54490  218

讨论这个项目(86)回答他人问题或分享插件使用方法奖励jQ币

    望↑圊の??? 0
    2018/5/17 14:27:32
    看样式还是挺赞的 回复
    肆意 0
    2018/1/31 13:25:53
    这个没有官网吗 回复
    戒?? 1
    2018/1/29 16:15:31

    把按钮内容变成中文实例,我是参考多个按钮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'
            }
        },
    });
    回复
    yuanli 0
    2017/11/28 16:22:24
    Confirm和Cancel值怎么改成中文??
        戒??0
        2018/1/29 16:12:57
        buttons: {
            danger: {
                text: '确定',
                style: 'danger',
                action: function() {
                    alert('Mission failed!');
                    return false;
                }
            },
            cancel: {
                text: '取消',
                style: 'default'
            }
        }
        戒??0
        2018/1/29 16:13:30

        哈哈,我是参考多个按钮demo代码悟出来的

    回复
    ? 颜颜颜颜颜颜大侠 0
    2017/11/7 16:48:39
    jade-like stone? 0
    2017/10/12 1:43:05
    龙阳。 0
    2017/8/5 13:57:47
    咚!!! 0
    2017/7/31 11:10:07
    楼主,我是个前端新手,不太会用这个,照着你说的 做了,但是弹不出来呢!
        咚!!!0
        2017/7/31 11:12:46

          弹出是这样的   

    回复
    7334309 0
    2017/6/23 14:10:14
    楼主 这个插件怎么把按钮改成中文啊?? 求教
        p0o9o9p00
        2017/6/28 13:29:09

        这个自己研究下啊,我是在flavr.min.js中改的,都有对应的按钮,可能有的按钮还有其他地方需要改,自己试着改改看

    回复
    概念奇偶 0
    2017/6/12 15:26:05

    这个东西的对话框 为什么卡不住线程啊 并不能替代alert啊

    回复
取消回复