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

倖福魔咒の 提交于 2019-12-20 21:00:29

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

首先,使用一个遮罩层来遮住整个页面,在遮罩层上显示一个消息框,消息框还可以被关闭,最后使用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:  1px 5px #333;     -webkit-box-shadow:  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关闭事件的动画完成时,将遮罩层也快速的关闭。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!