Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: как удалить объект из его метода

Сообщения:  [1-10]   [11-12] 

 
 автор: angelcorpc   (02.11.2009 в 13:24)   письмо автору
 
   для: coloboc66   (02.11.2009 в 12:01)
 

Хорошо, спасибо всем за помощь:)
Буду зарываться в книжки и статьи:))))

  Ответить  
 
 автор: coloboc66   (02.11.2009 в 12:01)   письмо автору
 
   для: angelcorpc   (02.11.2009 в 10:54)
 

Выход из этой ситуации простой - корректное (т.е. без ошибок) написание кода. А для этого нужно изучить DOM. Я же вам просто показывал, в каком направлении двигаться. Точный код дать не могу, извините, для этого нужно копаться в справочниках и тестировать ваш скрипт, а мне недосуг. Может кто другой может...

  Ответить  
 
 автор: angelcorpc   (02.11.2009 в 10:54)   письмо автору
 
   для: angelcorpc   (31.10.2009 в 15:03)
 

Как я понимаю, выхода из этой ситуации нет...

  Ответить  
 
 автор: angelcorpc   (31.10.2009 в 15:03)   письмо автору
 
   для: coloboc66   (31.10.2009 в 09:14)
 

Попробовал. Получил: window_1. Т.е. название определяется нормально.
Протестировал в Лисе в firebug, он ругается на строчку y=document.body.removeChild(x);
Говорит: Node was not found" code: "8

  Ответить  
 
 автор: coloboc66   (31.10.2009 в 09:14)   письмо автору
 
   для: angelcorpc   (30.10.2009 в 17:33)
 

x=document.getElementById(this.name);
По крайней мере в этой строке скрипт не понимает Id объекта, подлежащего удалению. Он у вас не указан. Попробуйте внутри WinClose написать alert(this.name) и получите что-то типа undefined.

  Ответить  
 
 автор: angelcorpc   (30.10.2009 в 17:33)   письмо автору
 
   для: guye   (30.10.2009 в 15:08)
 

Удалить надо именно объект.
Так как описано, не получается.

Приведу полностью весь код:

//
//класс
//

function win(x, y, w, h, dial, name, header, body)
{
 this.x = x;
 this.y = y;
 this.w = w;
 this.h = h;
 this.dialog = dial;
 this.name = name;
 this.head = header;
 this.body = body;
 this.create = WinCreate;
 this.min = WinClose;
}


//
//методы
//

function WinCreate()
 {
 if (!this.dialog){
  close_btn = '<td id="" bgcolor="blue">\n'+'<INPUT type="image" src ="1.gif" OnClick="'+this.name+'.min()">\n'+'</td>\n';
  clspan = ' colspan="2"';
 }
 else{
  close_btn = '';
  clspan = '';
 }
 str = '<div id="'+this.name+'" style="position: absolute; top: '+this.y+'px; left: '+this.x+'px; width: '+this.w+'px; height: '   +this.h+'px;">\n'
 +'<table width="100%" border="1" bordercolor="blue" cellspacing="0" cellpadding="0">\n'
  +'<tr>\n'
    + close_btn
   +'<td width="100%" height="21" align="center" bgcolor="blue"">\n'
    +'<font color="white"><b>'+this.head+'</b></font>\n'
   +'</td>\n'
  +'</tr>\n'
  +'<tr>\n'
    +'<td at="bd" bgcolor="white"'+clspan+'>\n'
     +'<div id="div_'+this.name+'">\n'
      +this.body+'</div>\n'
    +'</td>\n'
   +'</tr>\n'
  +'</table>\n'
 +'</div>';
 document.getElementById('text_body').innerHTML += str;
 }

function WinClose(){
 x=document.getElementById(this.name);
 y=document.body.removeChild(x);
}

Что я не правильно делаю?

  Ответить  
 
 автор: guye   (30.10.2009 в 15:08)   письмо автору
 
   для: angelcorpc   (29.10.2009 в 12:55)
 

я может чегото не понял но можно удалить экземпляр объекта но не как не метод если еметься ввиду уничтожить див то так
document.getElementById(id).parentNode.removeChild(document.getElementById(id))

  Ответить  
 
 автор: coloboc66   (30.10.2009 в 13:41)   письмо автору
 
   для: angelcorpc   (30.10.2009 в 13:01)
 

Что-то вроде:
x=document.getElementById('div_id');
y=document.body.removeChild(x);

Документацию надо читать...

  Ответить  
 
 автор: angelcorpc   (30.10.2009 в 13:01)   письмо автору
 
   для: coloboc66   (30.10.2009 в 12:38)
 

Так это-то понятно, но что написать вместо
> //Здесь код удаления объекта

  Ответить  
 
 автор: coloboc66   (30.10.2009 в 12:38)   письмо автору
 
   для: angelcorpc   (29.10.2009 в 12:55)
 

Наверное, так:
<script>
function objClose() 
 { 
 //Здесь код удаления объекта
 }
</script>
<input type=button value=Go onclick=objClose() />

  Ответить  

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования