Показать сообщение отдельно
  #2 (permalink)  
Старый 17.07.2013, 17:20
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Илья Дементьев, на ссылку ставьте onclick="signShow(this)". Создайте отдельный класс стиля для активной кнопки, например sign_show. Так же создайте div самой формы и дайте ей ID, например id="sing_form", в стилях для неё задайте display: none.

А javascript можно написать такой:

function singShow(elem)
{
    var a = document.getElementById('sing_form'); //Получаем саму форму и записываем её объект в переменную "a".

    /*Проверяем скрыта ли форма, или нет*/
    if(a.style.display == 'none') //Если скрыта
    {
        a.style.display == ''; //Делаем форму видимой
        elem.className += ' sing_show'; //Добавляем на нажатую кнопку класс sing_show.
    }
    else //Если не скрыта (видима)
    {
        a.style.display == 'none'; //Скрываем форму
        a.className = a.className.split(' ')[0]; //Убираем класс sing_show с нажатой кнопки.
    }
}


А для простоты кода можно написать так (без обьяснений):
function singShow(a)
{
   var b = document.getElementById('sing_form').style, c = a.className.split(' ');;
   b.display = b.display == 'none' ? '' : 'none';
   a.className = c[1] ? c[0] : a.className + ' sing_show';
}

Последний раз редактировалось ruslan_mart, 17.07.2013 в 17:32.
Ответить с цитированием