js点击任意区域弹出层消失,js点击弹出层之外的任意区域弹出层消失,常见弹层的封装

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <style type="text/css">
            *{margin:0;padding:0;}
            .warp{overflow:hidden;}
            .div1,.div2,.div3,.div4{width:400px;height:100px;margin:20px;background:#000;color:#fff;}
            .div2,.div4{display:none;}
            .fiex{display:none;}
            .div3,.div4{background:red;float:left;margin-top:5px;margin-left:10px;overflow:hidden;}
            .div6,.div6 div{padding:10px;border:1px solid #000;}
            .div7{width:300px;height:50px;background:blueviolet;display:none;}
        </style>
        <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
        <div class="warp">
            <div class="div1">div1</div>
            <div class="div2">div1显示的内容-点我消失</div>
        </div>
        <div class="warp">
            <div class="div3">div2</div>
            <div class="div4">div2显示内容显示内容显示内容-点我消失</div>
        </div>

        <br /><br />

        <div class="div6">
            div6内容内容
            <div class="uf">
                .uf 内容 可点击显示 .div7
            </div>

        </div>
        <div class="div7">
            换个布局展示 点击我时 不消失
        </div>

        <style type="text/css">
            #mb{position:fixed;background:rgba(0,0,0,.4);width:100%;height:100%;top:0;left:0;display:none;}
            .showbox{position:fixed;top:50%;left:50%;width:400px;height:200px;margin-top:-100px;margin-left:-200px;z-index:100;background:#fff;display:none;}
            .close{position:fixed;top:0;right:0;z-index:201;background:red;}
        </style>

        <input type="button" class="btn2" name="" id="" value="btn2" />
        <div id="mb"></div>
        <div class="showbox">
            <div class="close">closeBtn</div>
        </div>

        <script type="text/javascript">
            $(function(){
                $.fn.extend({
                    toggleWin : function(winBox,boolean){
                        //this 点击显示winBox 点击除了this的 其他地方则隐藏winBox
                        //boolean赋值 且 == true 点击除了this和winBox 的 其他地方则隐藏winBox
                        $(this).click(function(ev){
                            $(winBox).show();
                            ev.stopPropagation();
                        });
                        $(document).click(function(e){
                            $(winBox).hide();
                        });
                        if(boolean && boolean==true){
                            $(winBox).click(function(ev){
                                ev.stopPropagation();
                            });
                        }
                    },
                    toggSpecify : function(winBox,closeBar){
                        //this 被点击显示winBox
                        //closeBar被点击则关闭 winBox,默认 closeBar=#mb
                        var winBoxBg = ‘<div id=\"mb\"></div>‘
                        $(this).click(function(){
                            if(!$("#mb")){
                                $("body").append(winBoxBg);
                            }
                            $("#mb,"+winBox).show();
                        });
                        closeBar ? closeBar : closeBar="#mb";
                        $(closeBar).click(function(){
                            $("#mb,"+winBox).hide();
                        });
                    }

                });
                $(".div1").toggleWin(".div2");
                $(".div3").toggleWin(".div4");
                $(".uf").toggleWin(".div7",true);
                $(".btn2").toggSpecify(".showbox",".close,#mb");

            })
        </script>
    </body>
</html>
时间: 2024-10-12 20:34:50

js点击任意区域弹出层消失,js点击弹出层之外的任意区域弹出层消失,常见弹层的封装的相关文章

Js浮动层插件,点击按钮弹出层,可关闭

<!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> <title>石家庄礼品公司</title>

页面table的每行都有一个&lt;input type=&#39;button&#39; /&gt;,如何实现点击按钮在按钮下方弹出一个div,点击空白消失

\ <input id="test" type="button" />/*按钮*/ <div id="tanchu"></div> <script language="javascript"> $(document).ready(function(e) { $("#test").click(function(e) { $("#tanchu"

Android点击列表后弹出输入框,所点击项自动滚动到输入框上方(类似微信的评论)

Android点击列表后弹出输入框,所点击项自动滚动到输入框上方 使用微信的朋友圈会发现,点击某一条评论后输入框会弹出来,然后所点击的那一项会自动地滚动到输入框上方的位置,这样如果开始所点击的评论在屏幕很下方的话,就不会被输入框遮住,虽然微信这一点在我的MX2频繁点几次后滚动的位置就完全错误了,但据说在有些机型上效果还不错,还有其他地方可能会有类似的需求,比如登录时软键盘可能会把登录按钮遮住. 要实现这个功能需要注意的地方主要有两点: 什么时候进行滚动操作,以及有可能还需要在输入框消失时回滚回去

弹出框 popover.js

弹出框 popover.js 为任意元素添加一小块浮层,就像 iPad 上一样,用于存放非主要信息. 弹出框的标题和内容的长度都是零的话将永远不会被显示出来. 插件依赖 弹出框依赖 工具提示插件 ,因此,如果你定制了 Bootstrap,一定要注意将依赖的插件编译进去. 初始化 由于性能的原因,工具提示和弹出框的 data 编程接口(data api)是必须要手动初始化的. 在一个页面上一次性初始化所有弹出框的方式是通过 data-toggle 属性选中他们: 复制 复制 $(function

js彈出層或者js彈出引用url Frame 層

function Popup() { var _this = this; this.CssName = "layermask";//樣式 //遮蓋層 this.hiddLayer = function() { try{ var obj = document.getElementById("syspopup_layer"); if (obj != null) document.body.removeChild(obj); }catch(e){} }; this.sho

练习题:获取登录按钮及整个登录面板,给登录按钮添加事件,点击时让登录层示,点击登录面板的关闭按钮,关闭整个登录层

获取登录按钮及整个登录面板,给登录按钮添加事件,点击时让登录层示,点击登录面板的关闭按钮,关闭整个登录层 点击登录后: <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> *{margin:0;padding:0;} .head{font-size:1

利用js代码:document.forms[0].approval.value=&#39;false&#39;,当点击 &lt;input type=&quot;image&quot;按钮向表单传递不同的参数。

<form action="flow_myTaskList"> <input type="hidden" name="approval" value="true"/> <!-- 表单操作 --> <div id="InputDetailBar" style="float:none"> <!--onclick事件在submit之前触发-

重操JS旧业第一弹:Script与JS加载

不管js被包装成什么样子,最终交给浏览器执行的js都是原生的,都离不开原生js的原理. Script标签纸html中用来加载js的标签,我们知道js可以是来自外部,本地,或者内部一段代码,在这里只讨论来自外部的加载,对于一个随时进行网络数据交换的浏览器而言,网络请求必然是异步执行的,自然的js文件一般来说异步执行比较好,不容易造成UI卡顿,但是Script标签默认加载js是同步,阻塞式的,也就是说默认情况下浏览器按照从上至下,从左自右的方式解释执行脚本,对于同步请求js文件会造成js文件下载完成

JS中的函数、Bom、DOM及JS事件

本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的声明及调用] 1.函数声明的格式: function 函数名(参数1,参数2,参数3,--){//函数体 return 结果; } >>>函数的调用格式: 直接调用:函数调用的格式:函数名(参数一的值,参数二的值,--): 事件调用:事件名=函数名( ); 2.函数声明的几点强调: ①函数名

cocos js js java互调 (如何在ANDROID平台上使用JS直接调用JAVA)

在cocos2d-js 3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法.它的使用方法很简单: var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...) 在callStaticMethod方法中,我们通过传入Java的类名,方法名,方法签名,参数就可以直接调用Java的静态方法,并且可以获得Java方法的返回