实现一个简单的弹出层

弹出层的实现方式是让一个块层遮挡住最底下的层,在最顶上显示相应的内容,因为最底下的块级和最上面的块级属于一个页面,他们之间也可以共享一些数据(实现一些特定的操作) 下面是简单的一个实现的过程

首先我们定义一个基本的页面结构

    <div id="show"> //最底下的层
        <input type="button" value="测试" id="test"/>
    </div>
    <div id="hover"></div>//中间的遮盖层
    <div id="up">//最上面进行操作的层
        <input type="button" value="确认" id="confirm"/>
        <input type="button" value="取消" id="back" />  //这两个按钮能进行一些操作,发送数据给服务器并根据结果,对最底层进行设置
    </div>    

最开始你看到的页面效果是这样的

我们对最下面的层级进行一些基本的CSS设置

#show {
    width:800px;
    height:200px;
    margin:0 auto;
    background: blue;
}

下面是对遮挡层进行设置,我们希望它能完全的遮挡住我们的最下面的层级

#hover {
    position: absolute;//脱离文档流 到达我们想要的位置
    width:800px;
    height: 200px;
    background: gray;
    left:400px;
    top:0;    z-index:1;
    opacity: 0.8;//设置透明度 从0~1 1为完全的不透明
    display: none;//初始化为不可见
}

下面对最上面的块级进行设置

#up {
    background: blue;
    position:absolute;
    width:200px;
    height:150px;
    left:600px;
    top:30px;  z-index:100 //使它显示在最顶层   display:none;

}

现在的页面效果是这样的

我们在chrome中审查元素发现

我们的页面包含着hover和上面的层级 意味着我们仍然可以对它们进行操作属性的设置

下面来实现我们的简单的弹出层

<script type="text/javascript">
        var testBtn = document.getElementById("test");//弹出弹出层
        var hover = document.getElementById("hover");//遮挡层
        var up = document.getElementById("up");
        var confirmBtn = document.getElementById("confirm");
        var backBtn = document.getElementById("back");
        testBtn.onclick = function() {

            hover.style.display = "block"; //依次显示遮挡层 最上面的块层
            up.style.display = "block";

        }

        confirmBtn.onclick = function() {
            hover.style.display = "none";
            var id = testBtn.getAttribute("id");
            console.log(id);
            up.style.display = "none"; //当我们点击最上面的块层的确认按钮的时候,它能取到最下面的test按钮的id值 在这步可以与服务器进行交互 进行一些操作
        }

        backBtn.onclick = function() {
            hover.style.display = "none";
            up.style.display = "none"; //点击最上面的取消按钮的时候,依次将遮挡层 最上面的块层隐藏
        }

    </script>

下面演示一下

当我们单击测试按钮的时候 页面变成了这个样子

看到按钮被遮挡住了 最上面显示着我们想要的块层 当我们单击确认的时候 页面变成了原来的样子 我们观察控制台发现输出了test按钮的id值

这样就简单的实现了一个弹出层

时间: 2024-08-06 20:07:04

实现一个简单的弹出层的相关文章

代码录播:jQueryMobile 实现一个简单的弹出框效果

今天给大家带来的是 jQueryMobile 实现一个简单的弹出框效果,有兴趣的童鞋可以试试哦~ ^_^ 阅读原文:www.gbtags.com

火狐浏览器高度&amp;制作简单万年历&amp;弹出层

浏览器高度: FireFox中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 万年历: 1 <!DOCTYPE html> 2 <html> 3 4 &l

layUI 几个简单的弹出层

导入控件主题 <link rel="stylesheet" href="dist/themes/default/style.min.css" /> 创建容器 也就是包含jsTree控件的元素,一般使用<div>就可以了. <div id="jstree_demo_div"></div> 引入jQuery jsTree依赖于jQuery,所以需要引入jQuery: <script src=&qu

一个简单的弹出框组件

个人写这个弹出框的原因就一个,就是能给我带来可复用,追求新,要简单,可扩展.要达到炫酷有点难度,分析后还是决定以功能为主,因为是用jq和animation实现的弹出框组件,所以看起来难度不大,简称co-dialog. 灵感来源,因为工作中用到dialog,发现UI设计的弹出框的风格一直在变化,于是每次都要重新写一个弹出框,无意中增加了无用的工作量,所以果断就封装成一个弹出框组件,目前的锥形仅支持PC,然后又加入了CSS3动画效果,如果要引入动画效果就需要高版本的Browser才能使用,期望你能一

一个简单的弹出alv窗口例子

利用SALV可以简单的实现一个alv弹出窗口,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 REPORT ztest_salv_popup. DATA go_alv TYPE REF TO cl_salv_table. DATA:git_alv TYPE STANDARD TABLE OF ekko. DATA: lr_functions TYPE R

jquery实现一个简单的弹出框

自己改写一些jquery的部分代码,自己总结出来一个比较好用的jquery弹出框,留着以后工作时候再用.喜欢就拿走吧! 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999

简单的弹出层加遮罩层效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" c

【咸鱼教程】一个简单的弹出二级菜单UIPopupMenu

一. 实际效果 演示地址 二.实现原理主要用Button+List组件,和遮罩实现. 1. 点击Button时,将List下移展开.2. 再次点击Button,或者选中List中的某一项时,将List上移收缩. 三.使用方法 1. 拖动UIPopupMenu自定义组件到场景exml上 2. 根据需求自定义UIPopupMenuSkin,并为组件UIPopupMenu设置皮肤(自定义皮肤UIPopupMenuSkin具体查看Demo) 3. 根据需求自定义List条目皮肤(自定义List条目皮肤具

弹出层详解,从简单到复杂

一.最简单的弹出 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="