2009-06-26 6 views
1

В моем приложении Rails я пытаюсь скрыть поле div (box) на загрузке страницы в функции Javascript ниже. Эта функция проходит через ряд флажков с тем же именем (cb). Если какой-либо из флажков отмечен, он должен показать div.Скрытый 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 для отображения: нет, но я не могу показаться, чтобы сделать его переключиться обратно в режим: блок с JavaScript.

ответ

7

Почему нет? Вы пробовали:

element.style.display = 'block'; 

Как насчет не положить стиль = «дисплей: нет» в сНу теге так она скрыта, чтобы начать?

+0

Nice. По какой-то причине я заперся в настройке атрибута отображения в таблице стилей. Ваше решение положить его прямо в div работает. Спасибо! – 2009-06-26 03:44:25

+0

, тогда примите его ответ, поэтому мы знаем, что вопрос закрыт – nasmorn

Смежные вопросы