Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.08.2011, 15:31
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Solovei95
obj.attr = function(src){
DOM.prototype.attr(elem,src);
return obj;
};
Ололо. Потребление памяти всё равно линейно зависит от количества вызовов функции DOM.
Ответить с цитированием
  #12 (permalink)  
Старый 29.08.2011, 16:25
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 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;
};

//Function xDOM
var xDOM = function(element){
  var elem = element;

  //Set Attributes
  this.attr = function(src){
    if(src==null){src={}}
    for(var i in src){
      elem.setAttribute(i,src[i]);
    }
    return this;
  }

  //Set CSS
  this.css = function(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]);
      }
    }
    return this;
  }

  //Event Attach
  this.event = function(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);});
      }
    }
    return this;
  }
};

})();
Ответить с цитированием
  #13 (permalink)  
Старый 29.08.2011, 16:28
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

Суть такова:
- Один обьект xDOM (локальный, коренной)
- Несколько обьектов DOM (глобальный, вызывает xDOM)

Такая схема снизит потребление памяти!
Ответить с цитированием
  #14 (permalink)  
Старый 29.08.2011, 16:30
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

Вот именно вызывает xDOM а не создает.
Ответить с цитированием
  #15 (permalink)  
Старый 29.08.2011, 16:31
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

Можете меня банить - у меня карма -810
Ответить с цитированием
  #16 (permalink)  
Старый 29.08.2011, 16:33
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

DOM(document).event({"DOMContentLoaded":function(){
DOM(document.getElementById("canvas"))

//Element Attributes
.attr({
"width":"100",
"height":"100"
})

//Element Styles
.css({
"background-color":"rgb(255,0,0)"
});
}});

Работает, проверил лично!
Ответить с цитированием
  #17 (permalink)  
Старый 29.08.2011, 16:37
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Solovei95
У тебя сильный ляп!
Мой будет лучше!
Да, Ваш ляп лучше — потребление памяти по-прежнему линейно зависит от числа экземпляров DOM.
Сообщение от Solovei95
Можете меня банить - у меня карма -810
Судя по нику, Вам должно быть 15-16 лет. А ведёте себя как неадекватный первоклассник.
Ответить с цитированием
  #18 (permalink)  
Старый 29.08.2011, 16:42
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

Я веду себя нормально!
DOM(document).event({"DOMContentLoaded":function(){
DOM(document.getElementById("canvas"))

//Element Attributes
.attr({
"width":"100",
"height":"100"
})

//Element Styles
.css({
"background-color":"rgb(255,0,0)"
});

//Element Events
var element = DOM(document.getElementById("canvas")).event({
"mousedown":function(){
element.css({"background-color":"rgb(255,128,0)"});
},
"mouseup":function(){
element.css({"background-color":"rgb(255,0,0)"});
}
});

}});


Личный пример! Работает просто!

Последний раз редактировалось Solovei95, 29.08.2011 в 16:44.
Ответить с цитированием
  #19 (permalink)  
Старый 29.08.2011, 16:45
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

И кстати, с чего вы взяли, что потребление памяти растет?
Разве из-за постоянного return this ???
Ответить с цитированием
  #20 (permalink)  
Старый 29.08.2011, 17:28
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Solovei95
Я веду себя нормально!
Сообщение от Solovei95
Личный пример! Работает просто!
Сообщение от Solovei95
Такая схема снизит потребление памяти!
Сообщение от Solovei95
Работает, проверил лично!
Сообщение от Solovei95
У тебя сильный ляп!
Сообщение от Solovei95
Мой будет лучше!
Сообщение от Solovei95
Я вам скажу точно - расхода памяти не будет!
Сообщение от Solovei95
Как видите - работает цепочка!
Сообщение от Solovei95
Сам проверял!
Сообщение от Solovei95
Видите как все просто!
Куда столько экспрессии? Зачем столько восклицательных предложений? Зачем создавать по тысяче постов вместо редактирования одного единственного?
melky предложил свой вариант, а Вы сказали, что у него какой-то недостаток, не указав какой. Сами тем временем продолжаете наступать на те же грабли.
И в довершение совершенно непонятная просьба забанить.
Цитата:
И кстати, с чего вы взяли, что потребление памяти растет?
Разве из-за постоянного return this ???
При чём здесь это? Вы на каждый вызов DOM создаете новый объект и записываете ему кучу собственных свойств-функций (читай — методов) вместо того, чтобы использовать общие для всех объектов данного конструктора.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать <style> melky Элементы интерфейса 6 09.05.2011 17:35
как создать в цикле несколько дочерних элементов одного уровня? DimonCry Общие вопросы Javascript 11 13.01.2011 10:46
Создать объект из строчек Hagrael Events/DOM/Window 16 09.07.2010 10:25
Создать узел <img> внутри <div> glutton Events/DOM/Window 1 09.11.2009 14:41
немогу создать фаил с помощью JavaScrip Greasemonkey в Mozilla firefox выдает ошибку crem Firefox/Mozilla 2 11.08.2009 03:44