javascript - HTML5 不加载隐藏的 div?

标签 javascript jquery css html

我想制作一个可切换的图表,如果开始时图表可见,则一切正常。但是,如果我使用 display: none 然后切换,图表不会显示实际的烛台条,我无法弄清楚原因。

应该是:

Supposed to be

这是我的代码:

CodePen

var chart = new cryptowatch.Embed('bitfinex', 'btcusd', {
  timePeriod: '1d',
  width: 650,
  customColorScheme: {
    bg: "000000",
    text: "b2b2b2",
    textStrong: "e5e5e5",
    textWeak: "7f7f7f",
    short: "FD4600",
    shortFill: "FF672C",
    long: "6290FF",
    longFill: "002782",
    cta: "363D52",
    ctaHighlight: "414A67",
    alert: "FFD506",
  }
});
chart.mount('#chart-container');

$('#btn').click(function() {
  $('#chart-container').toggle(200);
});
html {
  display: flex;
  justify-content: center;
  text-align: center;
}

#chart-container {
  width: 100%;
  height: 400px;
  display: none;
}

#btn {
  font-size: 2em;
  width: 200px;
  border: black 2px solid;
  padding: 2px 0;
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="chart-container"></div>
<div id="btn">click</div>
<script type="text/javascript" src="https://static.cryptowat.ch/assets/scripts/embed.bundle.js"></script>

请注释掉display: none,你会明白我的意思。

最佳答案

如果您将 wrapper 添加到 chart-container 然后切换,即它的高度,它将起作用。

Updated codepen

HTML

<div id="container">
  <div id="chart-container"></div>
</div>

CSS

#container {
  width: 100%;
  height: 0;
  overflow: hidden;
}
#container.show {
  height: 400px;
}

JS

$('#btn').click(function(){
  $('#container').toggleClass('show');
});

关于javascript - HTML5 不加载隐藏的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42885708/

相关文章:

javascript - 以秒和分钟显示时间计数器

css - Foundation 6 具有完全对齐的外边缘的砌体效果?

javascript - 在 Ajax 调用后将值设置为 parent 的 parent 的 child 的 sibling

php - 解析位置41时间字符串失败(i) : Double timezone specification

javascript - 同时为每个div添加不同的变量

html - 如何选择文本框的行数? (*不是*高度)

html - 将一个<div>拆分为两个水平对齐的<div>,而整体在另一个<div>上垂直对齐

javascript - OpenUI5 将属性与函数绑定(bind),而不是直接访问

javascript - 互联网浏览器 : HTML entities in URL

javascript - 在选项卡单击时加载 iframe