jQuery实现带遮罩层的消息框滑入滑出效果

Javascript 1779 0 2013-03-23

jQuery实现带遮罩层的消息框滑入滑出效果
记得前些天和大家分享过一篇CSS遮罩层的代码,今天让我们看看使用CSS结合jQuery实现遮罩和滑出的效果。首先,使用一个遮罩层来遮住整个页面,在遮罩层上显示一个消息框,消息框还可以被关闭,最后使用jQuery使得消息框从页面顶部滑下,实现的效果如下:

遮罩层的样式如下:

.overlay{
        background:transparent url(images/overlay.png) repeat top left;
        position:fixed;
        top:0px;
        bottom:0px;
        left:0px;
        right:0px;
        z-index:100;
        }

样式说明了不论在哪种浏览器中,遮罩层上、右、下左边距都为0,保证了真正的遮罩。而position:fixed保存了当出现滚动条时,遮罩的完全,position:absolute不能满足这个要求,有兴趣的可以试试。过多的不解释了,不理解的也可以看看CSS遮罩层这篇文章。

下边样式用来显示消息框:

.box{
    position:fixed;
    top:-200px;
    left:30%;
    right:30%;
    background-color:#fff;
    color:#7F7F7F;
    padding:20px;
    border:2px solid #ccc;
    -moz-border-radius: 20px;
    -webkit-border-radius:20px;
    -khtml-border-radius:20px;
    -moz-box-shadow: 0 1px 5px #333;
    -webkit-box-shadow: 0 1px 5px #333;
    z-index:101;
    }

可见,重要的就是z-index:101,用来确保它在遮罩层之上,和CSS遮罩层那篇文章中提到的一样。关闭标签及其他元素的样式在这里就不一一介绍了,大家可以直接在Demo中查看到,你可以使用火狐的Firebug或Google浏览器中的开发者工具进行样式的在线查看。下边是实现动画效果的jQuery代码:

$(document).ready(function () {
    $('#activator').click(function () {
        $('#overlay').fadeIn('fast', function () {
            $('#box').animate({ 'top': '150px' }, 500);
        });
    });
    $('#boxclose').click(function () {
        $('#box').animate({ 'top': '-500px' }, 500, function () {
            $('#overlay').fadeOut('fast');
        });
    });
});

这里boxclose关闭事件的动画完成时,将遮罩层也快速的关闭。如果你还对jQuery动画不熟悉,可以看看当文本框获得焦点时使输入区域变大这篇文章。本篇就到这里,使用css overlay并配合一些jQuery特效,能很好的提高用户体验,赶快试试吧!

 

文章来源:http://www.jquery001.com/jquery-overlay-with-slide-out-box.html

演示地址:http://www.jquery001.com/demo/jquery-overlay-with-slide-out-box.htm


上一篇:解决KindEditor textarea 无法取值或提交两遍才取到值的问题

下一篇:自定义函数关闭KindEditor dialog窗口及灰色背景

讨论数量:0

请先登录再发表讨论。 2024-04-28

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链