用layer弹出层打开页面中存在的div之前怎么让这个div隐藏

我在页面最下方弄了几个div, 都是用于弹出层来使用, 用layer弹出某个div

当div设置class为hidden的时候( 我是用bootstrap), 用layer打开div后, 还是空白的, 难道非得手动编码来控制div的显示和隐藏吗( 在layer的打开和关闭的callback函数中)

阅读 17.8k
2 个回答

设置 display: none 即可
我看了下 bootstrap.hidden

.hidden {
    display: none !important;
}

!important 的优先级是最高的
所以即使 layer 展示时自动将元素的 style属性 设置成 display: block也会被其覆盖掉

我一般使用layer都是保存为字符串的,如:

var $wrapper=$('<div>test</div>')
var myLayer = layer.open({
    type: 1,
    area: ['1024px','768px'],
    content: $wrapper,
    maxmin: true
});

如果一定要在页面上写可以使用script包含

<script id="test" type="template">
    <div>test</div>
</script>
var myLayer = layer.open({
    type: 1,
    area: ['1024px','768px'],
    content: $('#test'),
    maxmin: true
});

如果按题主的思路来查错,首先可以F12查看弹出框内是否有内容
<div id="grmsDetailChart" style="height:300px;"></div>
是否插入,如果没有插入说明获取元素的过程有问题;如果已经插入可以看下插入的div样式,是否受原来父元素的影响。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题