w为什么会报错
来源:9-3 控件的添加与删除
qq_清风扶月_0
2019-10-29 13:15:04
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=fdbe40f250508983371ddb134f1ff0a8&plugin=AMap.OverView,AMap.Scale,AMap.ToolBar"></script>
<title></title>
<style type="text/css">
*{
margin: 0;padding: 0; list-style: none;
}
#container {width:100%; height: 100%;position: absolute;left: 0;right: 0; }
#panel{position: fixed;background: white;top: 10px;right: 10px;width: 280px;height: 500px;
}
</style>
</head>
<body>
<div id="container"></div>
<div id="panel">
<button is="yy">鹰眼</button>
<button id="gjt">工具条</button>
<button id="blc">比例尺</button>
</div>
<script type="text/javascript">
var map = new AMap.Map('container',{
zoom:12,
center:[116.379391,39.861536],
});
var oV = new AMap.OverView({
visible:true //默认显示和隐藏
})
var oS = new AMap.Scale();
var oT = new AMap.ToolBar();
map.addControl(oV);
map.addControl(oS);
map.addControl(oT);
var yy = document.getElementById(yy);
var gjt = document.getElementById(gjt);
var blc = document.getElementById(blc);
let yyNode = gjtNode = blcNode = false;
yy.onclick = function() {
if(yyNode == true){
oV.hide();
}else{
oV.show();
};
yyNode = !yyNode;
};
gjt.onclick = function() {
if(gjtNode == true){
oT.hide();
}else{
oT.show();
};
gjtNode = !gjtNode;
};
blc.onclick = function() {
if(blcNode == true){
oS.hide();
}else{
oS.show();
};
blcNode = !blcNode;
};
// setTimeout(function(){
// oV.hide();
// oS.hide();
// oT.hide();
// },5000);
// setTimeout(function(){
// oV.show();
// oS.show();
// oT.show();
// },5000)
</script>
</body>
</html>
1回答
好帮手慕言
2019-10-29
同学你好,我们先来看一下报错信息。如下:

根据报错信息可以得知,元素的获取有问题。
我们来看一下代码,有以下问题,
1、id书写错误,如下:

2、获取元素时,要使用引号,如下

另外:点击工具条等要点击两次才会消失,原因是gjtNode等变量初始值设置的为false。
建议:设置为true。
代码参考:
如果帮助到了你,欢迎采纳~祝学习愉快~
相似问题