Скрытие элементов на JS
Я написал скрипт
function showKabinetWindow() { document.getElementById("kabinet").style.display="block"; var hs=document.getElementById("hide_kabinet"); hs.innerHTML='<img src="minus1.png">'; hs.onclick=hideKabinetWindow; } function hideKabinetWindow() { document.getElementById("kabinet").style.display="none"; var hs=document.getElementById("hide_kabinet"); hs.innerHTML='<img src="plus.png">'; hs.onclick=showKabinetWindow; hs.style.display="block"; }; document.getElementById("hide_kabinet").onclick= function() {hideKabinetWindow(); return false}; НТML код <table> ........... <tr> <td class="head_kabinet">Редактировать профиль:</td> </tr> <tr> <td class="head_kabinet2">Редактировать Аватар: <a style="float:right; margin-top:-12px;" href="#" id="hide_kabinet"><img src="minus.png"> </a></td> </tr> <tr id="kabinet" > <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div>Изменить аватар(не обязательно):</div> <div><input type="file" size="30" /></div> </fieldset> </div> </td> </tr> <tr> <td class="head_kabinet2">Редактировать ФИО: <a style="float:right;"href="#" id="hide_kabinet2"> вв</a> </td> </tr> <tr id="kabinet2"> <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div>Изменить ФИО(не обязательно):</div> <div><input type="text" size="60" /></div> </fieldset> </div> </td> </tr> <tr> <td class="head_kabinet2">Редактировать телефон:</td> </tr> <tr> <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div>Изменить телефон(не обязательно):</div> <div><input type="text" size="60" /></div> </fieldset> </div> </td> </tr> Скрипт необходим для скрытия элементов формы : при щелчке по картинке -исчезает,нажав еще раз она появляется! ПРОБЛЕМА: как сделать чтобы скрипт работал для скрытия не 1 элемента(изменить аватар), а скрывал по своевременному нажатию: элементы (редактировать телефон и фио) |
Цитата:
P.S. Пример лучше делать полный, так его можно даже тут запустить и посмотреть... |
Если сунуть в родительский, то будут скрываться все элементы, а мне нужно чтобы если надо скрыть 1 элемент то 1 клик, если 2 элемент то клик на другой ссылке.И при этом у меня после нажатия на ссылке "показать" меня перекидывает в верх страницы, а форма у меня в центре страницы.
Полный код скрипта и html: <form> <table width="480px;" class="t" align="center" border="0" cellpadding="4" cellspacing="0"> <tbody> <tr> <td class="head_kabinet">Редактировать профиль:</td> </tr> <tr> <td class="head_kabinet2">Редактировать Аватар: <a style="float:right; margin-top:-12px;" href="#" id="hide_kabinet">скрыть </a></td> </tr> <tr id="kabinet" > <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div>Изменить аватар(не обязательно):</div> <div><input type="file" size="30" /></div> </fieldset> </div> </td> </tr> <tr> <td class="head_kabinet2">Редактировать ФИО: <a style="float:right;"href="#" id="hide_kabinet"> скрыть</a> </td> </tr> <tr id="kabinet"> <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div>Изменить ФИО(не обязательно):</div> <div><input type="text" size="60" /></div> </fieldset> </div> </td> </tr> <tr> <td class="head_kabinet2">Редактировать телефон:</td> </tr> <tr> <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div>Изменить телефон(не обязательно):</div> <div><input type="text" size="60" /></div> </fieldset> </div> </td> </tr> <tr> <td> <div style="margin:5px" align="center"> <input type="submit" class="kabinet_button" value="Сохранить"> <input type="reset" class="kabinet_button2" value="Сброс" > </div> </td> </tr> </tbody> </table> </form> внизу скрипт после кода вверху <script text="JavaScript"> function showKabinetWindow() { document.getElementById("kabinet").style.display="block"; var hs=document.getElementById("hide_kabinet"); hs.innerHTML='скрыть'; hs.onclick=hideKabinetWindow; } function hideKabinetWindow() { document.getElementById("kabinet").style.display="none"; var hs=document.getElementById("hide_kabinet"); hs.innerHTML='показать'; hs.onclick=showKabinetWindow; hs.style.display="block"; }; document.getElementById("hide_kabinet").onclick= function() {hideKabinetWindow(); return false}; </script> |
alex_89, сделай ты нормальный пример. Чего ты всё кусками какими-то выкладываешь... Да еще с кучей пустых строк.
P.S. В функции можно параметры передавать, если чего... :) |
alex_89,
Мантра для медитации: id не должно повторятся в пределах страницы ...и возможный вариант <!DOCTYPE html> <html > <head> <title></title> </head> <body> <form> <table width="480px;" class="t" align="center" border="0" cellpadding="4" cellspacing="0"> <tbody> <tr> <td class="head_kabinet">Редактировать профиль:</td> </tr> <tr> <td class="head_kabinet2">Редактировать Аватар: <a style="float:right; margin-top:-12px;" href="#" id="kabinet" name="kabinet">скрыть</a></td> </tr> <tr id="hide_kabinet"> <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div> Изменить аватар(не обязательно): </div> <div> <input type="file" size="30" /> </div> </fieldset> </div> </td> </tr> <tr> <td class="head_kabinet2">Редактировать ФИО: <a style="float:right;" href="#" id= "kabinet2" name="kabinet2">скрыть</a></td> </tr> <tr id="hide_kabinet2"> <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div> Изменить ФИО(не обязательно): </div> <div> <input type="text" size="60" /> </div> </fieldset> </div> </td> </tr> <tr> <td class="head_kabinet2">Редактировать телефон:<a style="float:right;" href="#" id= "kabinet3" name="kabinet2">скрыть</a></td> </tr> <tr id="hide_kabinet3"> <td> <div class="t_text2"> <!-- СТИЛЬ ООБВОДКИ ВОКРУГ ФОРМЫ--> <fieldset class="kabinet_form"> <div> Изменить телефон(не обязательно): </div> <div> <input type="text" size="60" /> </div> </fieldset> </div> </td> </tr> <tr> <td> <div style="margin:5px" align="center"> <input type="submit" class="kabinet_button" value="Сохранить" /><input type="reset" class="kabinet_button2" value="Сброс" /> </div> </td> </tr> </tbody> </table> </form><script type="text/javascript"> function hideKabinetWindow() { var obj = document.getElementById("hide_"+this.id); var display = obj.style.display; obj.style.display = (display != "none")?"none":"block"; this.innerHTML = (display != "none")?"показать":"скрыть"; return false }; document.getElementById("kabinet").onclick= hideKabinetWindow; document.getElementById("kabinet2").onclick= hideKabinetWindow; document.getElementById("kabinet3").onclick= hideKabinetWindow; </script> </body> </html> |
Извините, я еще новичок, не знаю как толком делать полный код- сейчас разобрался, а за пример спасибо большое, попробую в деиствий
|
Часовой пояс GMT +3, время: 13:21. |