Javascript.RU

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

Выполняется функция, а все что написано после нее игнорируется,
Привет Всем! Помогите пожалуйста с проблемой,
Есть функция которая создает элемент:
function createElem(name, attrs, style, text,past_id,position,changed) {
  var i=document.getElementById('questionNum').value;
  var parent = document.getElementsByTagName('body')[0];
    var e = document.createElement(name);
    if (attrs) {
        for (key in attrs) {
            if (key == 'class') {
                e.className = attrs[key];
            } else if (key == 'id') {
                e.id = attrs[key]+i;
			
            } else {
                e.setAttribute(key, attrs[key]);
            }
        }
    }
    if (style) {
        for (key in style) {
            e.style[key] = style[key];
        }
    }
    if (text) {
		
		
		
        e.appendChild(document.createTextNode(text));
    }
    parent.appendChild(e);
    if(past_id){
          var old_elem = document.getElementById(past_id);
        if(position=='before'){            
            parent.insertBefore(e,old_elem)
        }else if(position=='after'){
            insertAfter(parent,e,old_elem);
        }
        if(changed!='' && changed==true){
            parent.removeChild(old_elem);
        }
    }
	
	
}


Вот так я эту функцию вызываю(внутри другой функции):
function callback(text,a)
      {
	
	createElem('div',
              {'class': 'myDivCSSClass', 'id': 'myDivId','align':'center'},
              {'width': '200px', 'height': '250px', 'background': '#3B9D00', 'color': '#fff'},
              'what the fuck',
              'test',
              'before',
                1);  

	//Допустим что после этого я хочу выбросить сообщение!
       
 alert('IIIIIIIIIIHHHHHAAAAAAAAAAAAAA!!!');
      }


Проблема в том, что если этот alert() поставить перед вызовом createElem() , ты выполнятся обе функции, а если наоборот, то создастся элемент, и сценарий остановится, алерта не будет.

Заранее спасибо!
P.S в оригинале я вызываю не алерт, а
document.getElementById('myDivId'+a).innerHTML = text;

отсюда и параметры 'a' и 'text', которые кстати передаются функции callback исправно.
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2010, 08:36
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ошибка в createElem очевидно.
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2010, 16:21
Аспирант
Отправить личное сообщение для libinstyle Посмотреть профиль Найти все сообщения от libinstyle
 
Регистрация: 23.03.2010
Сообщений: 54

))) Ну в самом деле! Это как в том анекдоте, "дядя я знаю что у вас сломалось, у вас сломался автобус"
Я уже не первый час пытаюсь понять что не так, а вы мне "Ошибка в createElem очевидно."
Может кто то видет эту ошибку?
Заранее спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2010, 16:26
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

а через отладчик запустить религия не позволяет?
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2010, 16:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от libinstyle
parent.insertBefore(e,old_elem)
Сообщение от libinstyle
insertAfter(parent,e,old_elem);
Найдите 10 отличий. В консоль ошибок заглядывать надо иногда.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37