在我的 Rails 应用程序中,我试图在下面的 Javascript 函数中隐藏页面加载时的 div(框)。此函数循环遍历一系列具有相同名称 (cb) 的复选框。如果选中任何复选框,它应该显示 div。
function BoxCheck(cb,box){
var cbs=document.getElementsByName(cb);
var d=document.getElementById(box);
d.style.display = 'none';
var flag_check=0
for (var zxc0=0;zxc0<cbs.length;zxc0++){
if (cbs[zxc0].checked){
flag_check=flag_check+1
} else
{ }
}
if (flag_check > 0){
d.style.display = 'block';
document.getElementById('multi_control_spacer').style.display = 'block';
} else {
d.style.display = 'none';
document.getElementById('multi_control_spacer').style.display = 'none';
}
}
函数在加载时触发:
<body onload="javascript:BoxCheck('doc_ids[]','multi_control');">
问题是当没有选中复选框时,div 会瞬间闪烁,然后消失。
这是 CSS:
#multi_control {
padding: 10px;
background: #333;
}
我尝试将 css 设置为 display:none,但似乎无法使用 Javascript 将其切换回 display:block。
最佳答案
为什么不呢?你试过吗:
element.style.display = 'block';
如何将 style="display:none"放入 div 标签中以隐藏它?
关于javascript - 页面加载时隐藏的 div 闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1047175/