【问题标题】:Hidden div flashing on page load页面加载时隐藏的 div 闪烁
【发布时间】:2009-06-26 03:32:47
【问题描述】:

在我的 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,但我似乎无法将其切换回 display:block with Javascript。

【问题讨论】:

    标签: javascript ruby-on-rails


    【解决方案1】:

    为什么不呢?你试过了吗:

    element.style.display = 'block';
    

    将 style="display:none" 放入 div 标签中,这样一开始就隐藏起来怎么样?

    【讨论】:

    • 不错。出于某种原因,我将自己锁定在样式表中设置显示属性。您将其直接放入 div 的解决方案有效。谢谢!
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    相关资源
    最近更新 更多