HTML 和 CSS 只显示/隐藏?

标签 html css arcgis esri

我正在制作故事 map (ArcGIS/Esri 产品,允许您制作各种类型的地理引用演示文稿),允许您使用嵌入式 HTML 和 CSS(在 <style> 标签内)。我遇到的问题是我想显示/隐藏不同主题的附加信息,但我一直无法成功实现此功能。

我试过崩溃Bootstrap方法,最初有效,但几个小时后它不再有效(使用按钮方法按钮停止工作,使用 href 方法它只是在新页面中再次打开故事 map )。这是相关代码:

<p>
  <button aria-controls="collapseFlowers" aria-expanded="false" 
          class="btn btn-primary" data-target="#collapseFlowers" 
          data-toggle="collapse" 
          type="button">
     More information on Wildflower
  </button>
</p>

<div class="collapse">
  <div class="card card-body">
    <img alt="" src="https://i.imgur.com/Bidb7cR.png" />
  </div>
</div>

据我所知,这个问题是因为 Story Map 缺少 Bootstrap 依赖项,但我不知道如果是这样的话为什么它最初会起作用。

我也尝试了所有的解决方案 here ,这些都没有用。当我保存并退出 HTML 编辑器时,它似乎在“编译”代码,删除代码运行所需的部分。这可能是一个不充分的解释,但如果需要,我可以包括示例。

Story Maps 确实支持 JavaScript 和其他更深入的 HTML 工作,但您必须下载源代码并重新托管它,这不是该元素的选项。我有 Java、C 和其他一些语言的经验,但对 HTML 及其实现方式知之甚少,所以这让我抓狂。感谢您的帮助!

最佳答案

监听按钮的点击事件,

Using only JavaScript,

const btn = document.querySelector('.btn');
const collapse = document.querySelector('.collapse');
// initially hide the image
collapse.style.display = "none";
var hidden = true;

// click event listener
btn.addEventListener('click', handleClick);

// click event handler
function handleClick (e) {
  if (hidden) {
    hidden = false;
    collapse.style.display = "block";
  }
  else {
    hidden = true;
    collapse.style.display = "none";
  }
}
    
<p><button aria-controls="collapseFlowers" aria-expanded="false" class="btn btn-primary" data-target="#collapseFlowers" data-toggle="collapse" type="button">More information on Wildflowers</button></p>

<div class="collapse">
<div class="card card-body"><img alt="" src="https://i.imgur.com/Bidb7cR.png" /></div>
</div>


Using only CSS,

label {
  cursor: pointer;
}

div.collapse {
  display: none;
}


#btn-checkbox {
  width: 0;
  height: 0;
  opacity: 0;
}


#btn-checkbox:checked + div.collapse {
  display: block;
}
<button><label for="btn-checkbox">More information on Wildflower</label></button>
<input id="btn-checkbox" type="checkbox"/>
    <div class="collapse">
    <div class="card card-body"><img alt="" src="https://i.imgur.com/Bidb7cR.png" /></div>
    </div>

我对上面的代码做了一些修改,让它可以正常工作。

与这篇文章相关的链接,
CSS-tricks

关于HTML 和 CSS 只显示/隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634169/

相关文章:

javascript - 从 arcgis 中的集群中删除点击事件弹出窗口

javascript - 每个复选框出现两次

html - 设置表格列宽 CSS

html - 应用框悬停时我的链接停止工作

javascript - 如何创建隐藏元素以及内联 block

java - 哪个开源 Python 或 Java 库提供了一种在 ESRI Shapefile 上绘制圆圈的简单方法?

GIS:按人口均等划分区域

javascript - 通过 onload() 和刷新按钮刷新网页

html - IE 和 Edge 框阴影被截掉

css - 如何防止单边边框环绕边框半径?