 
			
				30.08.2011, 11:11
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Пересоздаю тему!
			 
			
		
		
		
		Все темы были неудачными! Было плохое настроение! 
Пробуйте теперь такой код!
 
(function(){
var global = (function(){return this;})();
//Image Loader
global.loadImage = function(src,onload){
  var img = new Image();
  img.src = src;
  img.onload = onload;
  return img;
};
//DOM Object
global.DOM = function(element){
  var init = new xDOM(element);
  return init;
};
//Init DOM
var xDOM = function(element){
  var elem = element;
  this.attr = function(src){
    DOM.prototype.attr(elem,src);
    return this;
  }
  this.css = function(src){
    DOM.prototype.css(elem,src);
    return this;
  }
  this.event = function(src){
    DOM.prototype.event(elem,src);
    return this;
  }
};
  //Set Attributes
DOM.prototype.attr = function(elem,src){
  if(src==null){src={}}
  for(var i in src){
    elem.setAttribute(i,src[i]);
  }
}
  //Set CSS
DOM.prototype.css = function(elem,src){
  if(src==null){src={}}
  for(var i in src){
    if(typeof elem.style.setProperty != "undefined"){
      elem.style.setProperty(i,src[i],null);
    } else {
      elem.style.setAttribute(i,src[i]);
    }
  }
}
  //Event Attach
DOM.prototype.event = function(elem,src){
  if(src==null){src={}}
  for(var i in src){
    if(elem.addEventListener) {
      elem.addEventListener(i, src[i], false);	
    } else
    if(elem.attachEvent) {
      elem.attachEvent('on' + i, function(e){func.call(src[i], e);});
    }
  }
}
})();
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Solovei95, 30.08.2011 в 11:17.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 11:18
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.08.2011 
					
					
					
						Сообщений: 6
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 А как вы темы создаёте, у меня не получается? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 11:36
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 sinistral 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 28.03.2011 
					
					
					
						Сообщений: 5,418
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		каждый раз при вызове  DOM будет создаваться новый объект (это ничего) и к нему каждый раз будут добавляться свойства (это уже плохо) 
 
//DOM Object
global.DOM = function(element){
  var init = *!*new xDOM(element);*/!*
  return init;
};
//Init DOM
var xDOM = function(element){
  var elem = element;
  *!*this.attr*/!* = function(src){
    DOM.prototype.attr(elem,src);
    return this;
  }
  *!*this.css*/!* = function(src){
    DOM.prototype.css(elem,src);
    return this;
  }
  *!*this.event*/!* = function(src){
    DOM.prototype.event(elem,src);
    return this;
  }
};
вам уже об этом намекали, и я писал код, который добавляет эти свойства не к новому объекту, а к прототипу объекта. попробуйте так же  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 11:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		Пересоздаю тему!
	 | 
 
	
 
 Невероятно осмысленное название для темы.
 
Да Вы ещё и ничему не учитесь. Прочитайте что-нибудь об объектах и прототипах в JS, что ли.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 11:52
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Solovei95, 
 вы почти чемпион по созданию никому не понятных тем, скоро nemo переплюнете. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 14:12
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 xDOM и DOM это совершенно разные вещи! 
Умейте различать. А если все равно видите минус - то покажите правильный код!!! 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 15:16
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Solovei95
			
		
	 | 
 
	| 
		xDOM и DOM это совершенно разные вещи!
	 | 
 
	
 
 И что с того? Свойства-то Вы назначаете в конструкторе xDOM, чей экземпляр и создаете. 
Более того, в Вашем случае конструктор DOM будет возвращать объект "типа" xDOM.
 
А правильно так: 
// DOM cons
var DOM = function(element){
  this._element = element;
};
DOM.prototype = {
  attr : function(attr){return this._element.getAttribute(attr)}
  // …
};
global.DOM = DOM;
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось B@rmaley.e><e, 30.08.2011 в 15:19.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 16:33
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Да понял я вас! 
Вот еще вариант!
 
(function(){
var global = (function(){return this;})();
//Image Loader
global.loadImage = function(src,onload){
  var img = new Image();
  img.src = src;
  img.onload = onload;
  return img;
};
var xDOM = function(elem){
  var init = new DOM(elem);
  return init;
}
//DOM Object
var DOM = function(element){
  this._elem = element;
};
//Set Attributes
DOM.prototype.attr = function(src){
  if(src==null){src={}}
  for(var i in src){
    this._elem.setAttribute(i,src[i]);
  }
  return this;
}
//Set CSS
DOM.prototype.css = function(src){
  if(src==null){src={}}
  for(var i in src){
    if(typeof this._elem.style.setProperty != "undefined"){
      this._elem.style.setProperty(i,src[i],null);
    } else {
      this._elem.style.setAttribute(i,src[i]);
    }
  }
  return this;
}
//Event Attach
DOM.prototype.event = function(src){
  if(src==null){src={}}
  var self = this;
  for(var i in src){
    (function(i){
      if(self._elem.addEventListener) {
        self._elem.addEventListener(i, src[i], false);	
      } else
      if(self._elem.attachEvent) {
        self._elem.attachEvent('on' + i, function(e){ src[i].call(self._elem, e); });
      }
    })(i);
  }
  return this;
}
global.DOM = xDOM;
})();
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Solovei95, 30.08.2011 в 16:48.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 16:48
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 15.03.2011 
					
					
					
						Сообщений: 353
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я прошу пересмотреть данную функцию еще раз! 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2011, 17:57
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 ⊞ Развернуть 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 11.01.2010 
					
					
					
						Сообщений: 1,810
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Так уже лучше. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |