Javascript.RU

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

Выполнить только один раз событие onClick.
Добрый день. Только начал изучать JS и не знаю что дальше делать. Подскажите пожалуйста куда копать
Вот код.
<script language="JavaScript">
function opend(d, s, g)
{
var div = document.createElement("div");
div.id = g;
div.style.height = '50px';
div.style.background = '#3B9D00';
div.style.border = '1px solid red';
div.innerHTML=s;
document.getElementById(d).appendChild(div);
}

function dell(delD, rel)
{
var del = document.getElementById(rel);
var parent = document.getElementById(delD); 
parent.removeChild(del);
}

</script>
<center>

<div id="myDIV1" style="width:500px; height:auto; border:1px solid #333;">
<a href="#"  onclick="opend('myDIV1','ТЕКСТ -1', 'reload1')">Комментарий</a>
<a href="#" onclick="dell('myDIV1', 'reload1')">Удалить</a>
</div>

<div id="myDIV2" style="width:500px; height:auto; border:1px solid #333;">
<a href="#"  onclick="opend('myDIV2','ТЕКСТ -2', 'reload2')">Комментарий</a>
<a href="#" onclick="dell('myDIV2', 'reload2')">Удалить</a>
</div>
</center>



Как можно запретить повторное добавление div'a?

А конечная цель, сделать так, что бы при нажатии Комментарий проверялась страница на уже открытую форму добавления Комментария и если такая форма открыта, то закрыть.

Возможно ли удалить дочерний DIV не указывая родителя?
как-то так:
<script language="JavaScript">
function d()
{
var del = document.getElementById('reload');
removeChild(del);
}
</script>
<div id="myDIV1">
<div id="reload">ТЕКСТ -1</div>
</div>
<a href="#" onclick="d()">Удалить</a>



Может это тупиковый код, буду рад если объясните как будет лучше сделать. Хочу сделать скрипт обсуждение статьи (форум).
Ответить с цитированием
  #2 (permalink)  
Старый 04.10.2010, 22:09
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Если только начал изучать, то откажись от устаревших много лет назад вещей типа language="JavaScript"
Сообщение от exBill
Возможно ли удалить дочерний DIV не указывая родителя?
Нет, но можно делать так:
del.parentNode.removeChild(del);
Ответить с цитированием
  #3 (permalink)  
Старый 04.10.2010, 22:26
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

<script>
function toggle(element, text){
  var div = element.getElementsByTagName('div')[0];
  if(!div){
    var newDiv = document.createElement("div");
    newDiv.style.height = '50px';
    newDiv.style.background = '#3B9D00';
    newDiv.style.border = '1px solid red';
    newDiv.innerHTML = text;
    element.appendChild(newDiv);
  }else{
    div.parentNode.removeChild(div);
  }
}
</script>
<center>
<div style="width:500px; height:auto; border:1px solid #333;">
<a href="#" onclick="toggle(this.parentNode, 'ТЕКСТ - 1');">Добавить/удалить комментарий</a>
</div>
<div style="width:500px; height:auto; border:1px solid #333;">
<a href="#" onclick="toggle(this.parentNode, 'ТЕКСТ - 2');">Добавить/удалить комментарий</a>
</div>
</center>
Ответить с цитированием
  #4 (permalink)  
Старый 04.10.2010, 23:04
Новичок на форуме
Отправить личное сообщение для exBill Посмотреть профиль Найти все сообщения от exBill
 
Регистрация: 04.10.2010
Сообщений: 2

Sweet Спасибо за оперативный ответ.Только сегодня сел за JS. language="JavaScript Учту.

div.parentNode.removeChild(div);
буду знать

А можно если уже открыт div ТЕКСТ - 1, закрыть его после нажатия Добавить/удалить комментарий во втором DIVe? т.е где бы не нажал Добавить/удалить комментарий открывается только один ТЕКСТ, а второй если открыт, закрывается.

Подойдет и теория Спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
событие onclick chelsea Общие вопросы Javascript 1 17.09.2010 11:31
Почему функция срабатывает один раз? Bogdan808 Javascript под браузер 4 06.09.2010 23:41
Как заставить событие сработать один раз GRean Javascript под браузер 4 07.06.2010 00:29
Окно открывается только один раз altermann ExtJS 8 22.04.2010 11:55
Событие onClick avtor01 Events/DOM/Window 3 03.09.2009 18:01