Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как сбросить видимость нескольких объектов сразу (https://javascript.ru/forum/misc/2825-kak-sbrosit-vidimost-neskolkikh-obektov-srazu.html)

legal 16.02.2009 12:23

Спасибо! Еще короче можно? ))

Gvozd 16.02.2009 12:33

ZoNT,
чем же твой вариант быстрее моего?
по времени выполнения идентично будет,но в моем случае элемент отображаемый скакать не будет

ZoNT 16.02.2009 12:36

function mk(n,i) {
for(i=67;i--;)document.getElementById('mark'+(i+1)).style.display='none';
document.getElementById('mark' + n).style.display='';
}

Kolyaj 16.02.2009 12:39

Цитата:

Сообщение от Gvozd
но в моем случае элемент отображаемый скакать не будет

А он и так скакать не будет. Браузер же не перерисовывает страницу после каждого изменения.

ZoNT 16.02.2009 12:40

Цитата:

Сообщение от Gvozd
чем же твой вариант быстрее моего?
по времени выполнения идентично будет,но в моем случае элемент отображаемый скакать не будет

Да, скакать будет... теоретически... Быстрее тем, что нет ветвления.

ZoNT 16.02.2009 12:45

Ну или вот :) :
function mk(n,i){
function c(j,d){document.getElementById('mark'+j).style.display=d}
for(i=67;i--;)c(i+1,'none');
c(n,'');
}

legal 16.02.2009 13:41

Ок, ну а теперь, кто длиннее... )) Только без пустых инструкций, все нужное...

ZoNT 16.02.2009 13:56

Самый длинный вариант был в первом посте (это где без цикла) :)

legal 16.02.2009 14:11

А длиннее нельзя? ))

Gvozd 16.02.2009 16:22

ZoNT,
ветвление у меня сделано для обработки исключительной ситуации.
можно и без него(возможн в контексте задачи автора это даже неправильно)

Мне понравился способ ограничения итераций в твоих последующих циклах =).я вообще сперва решил, что ошибка)))

а насчет скачет или не скачет, пускай legal проверит


Часовой пояс GMT +3, время: 07:02.