html+js/jquery实现弹出层效果

在做网页的时候,弹出层是个很好用的东西,它既可以显示出我们想要的内容,又无需重新加载,而且弹出层的样式还可以按我们想要的效果改动,今天就来说一说怎么做一个弹出层。

首先说一个js的方法。这个方法是以前看到的。

既然是做弹出层,那么当然得先做几个div出来,如图这里写图片描述

首先是底层的一个div,然后是弹出的div,在底层和弹出之间还有个div,这个div是用来挡住底层div的,防止在窗口弹出后还能点击底层的元素。然后是两个a标签,用来控制层窗口的打开与关闭。下面上代码:

<a href = "JavaScript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">点击打开</a>
 <div id="light">这是一个层窗口示例程序. 
      <a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'">点击关闭</a>
</div> 
<div id="fade"></div> 

关于层窗口的样式部分,我就不贴出来了,可以看出代码其实很简单,只需给a标签添加一个onclick点击事件就可以了,用display来控制层窗口的显示与隐藏,light即是我们想要的层窗口,fade则为阻挡层。

但是呢,他又没有完全达到我们想要的效果,当点击打开的时候,它就直接弹了出来,给人的感觉很突兀,如果能有个过渡效果那看起来就很好了。这时jquery就能很好地发挥作用了。
fadein、fadeout实现淡入淡出,这里放一个演示链接fade,而hide和show实现显示和隐藏,还有slide控制滑动。
我们这里使用fade和slide,代码如下:
html部分:

<a href="#" id="showWin">显示</a>
<div id="light">这是一个层窗口示例程序. 
     <a href="#" id="hideWin">隐藏</a>
</div> 
<div id="fade"></div> 

jquery部分:

$(document).ready(function () {
    		$("#showWin").click(function(){
				$("#light").slideDown();
				$("#fade").fadeIn();
    		});
    		
    		$("#hideWin").click(function(){
    			$("#light").slideUp();
    			$("#fade").fadeOut();
    		})
    	});

这样就给层窗口添加了一个动画效果,在点击时层窗口会在一秒钟的时间内滑下来,给人的感觉友好很多。

其实如果对css中的transition熟悉的话,完全可以用css做出这样的效果来,甚至做出更多的动画效果,有兴趣的可以先试试,下次将为大家带来css实现的层窗口效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值