【Javascript Demo】遮罩层和百度地图弹出层简单实现

简介:

其实想做的就是显示百度地图的弹出层,现在已经简单实现了。示例和代码如下,点击按钮可以看到效果:

1.示例:

 

 

 

 

2.代码:

复制代码
<!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="Content-Type" content="text/html; charset=utf-8"/>
 
              <title>遮罩层和弹出层简单实现</title>
             
             <link href="css/css.css" rel="stylesheet" type="text/css" />
             <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=A8773a52f6d9bc0ecaea7f15acdd13e0"></script>
              <script type="text/javascript">
              //显示百度地图弹出层
                  function divtoshow() {
                      div_show = document.getElementById("div_show");
                      div_show.innerHTML = "<div class=\"div_show_title\"> <span class=\"div_show_font\">地图</span> <input type=\"button\" value=\"关闭\" onclick=\"close_show();\" class=\"div_show_btn\" /> </div><div id=\"div_hotelmap\" ></div>";
                      getshade();
                      getpopup();
                      getbaidumap(116.404, 39.915);
                      div_show.style.zIndex = "100";
                      div_show.style.display = "block";
                  }

                  //创建遮罩层
                  function getshade() {
                      var div = document.createElement("div");
                      div.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) + "px";
                      div.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + "px";
                      div.style.backgroundColor = "#000000";
                      div.style.position = "absolute";
                      div.style.opacity = 0.5;
                      div.style.left = 0;
                      div.style.top = 0;
                      div.id = "tohotelshade";
                      div.style.zIndex = 100;
                      document.getElementById("div_body").appendChild(div);
                  }

                  //创建用于显示百度地图的DIV
                  function getpopup() {
                      var div = document.createElement("div");
                      div.style.width = "100%";
                      div.style.height = "100%";
                      div.id = "tohotelmap";
                      document.getElementById("div_hotelmap").appendChild(div);
                  }

                  //清除弹出层和遮罩层
                  function close_show() {
                      var tohotelshade = document.getElementById("tohotelshade");
                      var tohotelmap = top.document.getElementById("tohotelmap");
                      var div_show = document.getElementById("div_show");
                      var div_hotelmap = document.getElementById("div_hotelmap");
                      div_show.style.zIndex = "-100";
                      tohotelshade.parentNode.removeChild(tohotelshade);
                      tohotelmap.parentNode.removeChild(tohotelmap);
                      div_show.innerHTML = "";
                  }

                  //通过经纬度显示百度地图
             function getbaidumap(Longitude,Latitude) {
              var map = new BMap.Map("tohotelmap");
              var point = new BMap.Point(Longitude,Latitude);
              map.centerAndZoom(point, 14);
              var marker = new BMap.Marker(point);        // 创建标注    
              map.addOverlay(marker);                     // 将标注添加到地图中  
             map.addControl(new BMap.NavigationControl());
             map.addControl(new BMap.ScaleControl());
             map.addControl(new BMap.OverviewMapControl());
             map.addControl(new BMap.MapTypeControl()); 
        }
            
</script>  
 
       </head>
 
       <body>
        
       <div id="div_body">
       <input type="button" value="click" onclick="divtoshow()" />
       </div>   

       <div id="div_show"> </div>
  </body>
</html>
复制代码

 

3.样式:

复制代码
#div_show
{
    height: 400px;
    left: 80px;
    position: fixed;
    top: 88px;
    width: 80%;
    z-index: -100;
}
.div_show_title
{
 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#12a3f4', endColorstr='#0e86c9', GradientType=0);
    clear: both;
    display: block;
    background: rgb(14, 134, 201);
    color: #FFFFFF;
    font-weight: 700;
    position: relative;
    height: 30px;
    width: 100%;
}
.div_show_font
{
    color: #FFFFFF;
    float: left;
    font-weight: 700;
    margin: 0.4em 0 0.4em 10px;
}
.div_show_btn
{
    float: right;
    margin: 0.4em 10px 0.4em 0;
}
#div_hotelmap
{
    height: 360px;
    border: 5px solid white;
}
复制代码





本文转自叶超Luka博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/p/3166469.html,如需转载请自行联系原作者
目录
相关文章
|
JavaScript 前端开发 Python
Node.js在Python中的应用实例demo
Node.js在Python中的应用实例demo
130 2
|
设计模式 缓存 JavaScript
JavaScript 简单实现观察者模式和发布-订阅模式
JavaScript 简单实现观察者模式和发布-订阅模式
62 0
|
7月前
|
前端开发 应用服务中间件 nginx
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
1026 0
|
1天前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
3月前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
3月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
55 0
JS配合CSS3实现动画和拖动小星星小Demo
|
4月前
|
JavaScript 前端开发
JavaScript——一个简单的队列Demo
JavaScript——一个简单的队列Demo
44 4
|
4月前
|
JavaScript 前端开发 定位技术
百度地图JavaScript API v2.0创建地图
百度地图JavaScript API v2.0创建地图
78 0
|
4月前
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
7月前
|
JavaScript 定位技术 API
[JS]百度地图设置城市
[JS]百度地图设置城市
65 1
下一篇
DataWorks