Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2014, 12:57
Аспирант
Отправить личное сообщение для Нубопрогер Посмотреть профиль Найти все сообщения от Нубопрогер
 
Регистрация: 26.05.2014
Сообщений: 72

Поменять выполняемые функции по смене id
Имею такой код:
function open() {
document.getElementById('servers').style.display='block';
document.getElementById('start').id='finich';
}

Попытался добавить условия:
function open() {
document.getElementById('servers').style.display='block';
document.getElementById('start').id='finich';
if {id==finich} {
document.getElementById('servers').style.display='none';
} 
}


Суть в том, что по клику кнопки
<button id="start">Текст</button>

её id меняется на finich, а потом идёт условие, если id кнопки = finich, то вернуть стандартное положение div'ов на странице ( по умолчанию
document.getElementById('servers').style.display='none';

)
Дело в том, что не работает условие, функция доходит до этого условия и останавливается. Что нужно сделать, чтобы функция работала? Вот html-код данной задачи:
....
<script src="1.js"></script> <!--здесь хранится функция -->
<div id="servers">
<div id="csdm">1</div>
<div id="public">2</div>
<div id="gg">3</div>
</div>
<div id="dostype-display"><button onClick="open()" id="start">Текст</button></div>

Последний раз редактировалось Нубопрогер, 26.05.2014 в 13:01. Причина: Добавление данных
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2014, 13:11
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Выражение для if берётся в круглые, а не фигурные скобки. И вообще, что за переменные id и finich сравниваются???
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2014, 13:16
Аспирант
Отправить личное сообщение для Нубопрогер Посмотреть профиль Найти все сообщения от Нубопрогер
 
Регистрация: 26.05.2014
Сообщений: 72

Сообщение от Sweet Посмотреть сообщение
Выражение для if берётся в круглые, а не фигурные скобки. И вообще, что за переменные id и finich сравниваются???
Про скобки - не знал.
id - не переменная, а id элемента, которое поменялось
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2014, 13:35
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Может просто
function open() {
    document.getElementById('servers').style.display='none';
}

?
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2014, 13:39
Аспирант
Отправить личное сообщение для Нубопрогер Посмотреть профиль Найти все сообщения от Нубопрогер
 
Регистрация: 26.05.2014
Сообщений: 72

это было бы чересчур банально, к тому же эта функция уже существует

я мог бы сделать так:
function openservers() {
document.getElementById('servers').style.display='block';
document.getElementById('start').style.display='none';
document.getElementById('finich').style.display='block';
}
function closeservers() {
document.getElementById('servers').style.display='none'
document.getElementById('start').style.display='block';
document.getElementById('finich').style.display='none';
};


и добавить в html
<button id="finich"></button>

но это же очень просто. Хотелось бы посложнее
Ответить с цитированием
  #6 (permalink)  
Старый 26.05.2014, 13:52
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от Нубопрогер
id - не переменная, а id элемента, которое поменялось
С чего бы вдруг? id и finich - это либо переменные, либо свойства глобального объекта, либо свойства объекта в операторе with. Всё, больше никаких вариантов.
Ответить с цитированием
  #7 (permalink)  
Старый 26.05.2014, 14:12
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Сообщение от Нубопрогер Посмотреть сообщение
но это же очень просто. Хотелось бы посложнее
можно всю логику вынести в одну функцию и повесить на единственную кнопку. как пример:
function toggle() {
    var styleServers = document.getElementById('servers').style;
    if (styleServers.display == 'none') {
         styleServers.display = 'block';   
    } else {
        styleServers.display = 'none';
    }
}

document.getElementById('start').addEventListener('click', toggle, false);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение прототипа функции tsigel Общие вопросы Javascript 11 15.05.2014 01:03
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
вызов функции при смене url vvsh Events/DOM/Window 4 11.08.2011 19:01
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Прерывается выполнение функции при смене аргумента mikser763 Общие вопросы Javascript 1 11.10.2010 16:36