29.08.2011, 15:31
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Solovei95
|
obj.attr = function(src){
DOM.prototype.attr(elem,src);
return obj;
};
|
Ололо. Потребление памяти всё равно линейно зависит от количества вызовов функции DOM.
|
|
29.08.2011, 16:25
|
Профессор
|
|
Регистрация: 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;
}
};
})();
|
|
29.08.2011, 16:28
|
Профессор
|
|
Регистрация: 15.03.2011
Сообщений: 353
|
|
Суть такова:
- Один обьект xDOM (локальный, коренной)
- Несколько обьектов DOM (глобальный, вызывает xDOM)
Такая схема снизит потребление памяти!
|
|
29.08.2011, 16:30
|
Профессор
|
|
Регистрация: 15.03.2011
Сообщений: 353
|
|
Вот именно вызывает xDOM а не создает.
|
|
29.08.2011, 16:31
|
Профессор
|
|
Регистрация: 15.03.2011
Сообщений: 353
|
|
Можете меня банить - у меня карма -810
|
|
29.08.2011, 16:33
|
Профессор
|
|
Регистрация: 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)"
});
}});
Работает, проверил лично!
|
|
29.08.2011, 16:37
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Solovei95
|
У тебя сильный ляп!
Мой будет лучше!
|
Да, Ваш ляп лучше — потребление памяти по-прежнему линейно зависит от числа экземпляров DOM.
Сообщение от Solovei95
|
Можете меня банить - у меня карма -810
|
Судя по нику, Вам должно быть 15-16 лет. А ведёте себя как неадекватный первоклассник.
|
|
29.08.2011, 16:42
|
Профессор
|
|
Регистрация: 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.
|
|
29.08.2011, 16:45
|
Профессор
|
|
Регистрация: 15.03.2011
Сообщений: 353
|
|
И кстати, с чего вы взяли, что потребление памяти растет?
Разве из-за постоянного return this ???
|
|
29.08.2011, 17:28
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Solovei95
|
Я веду себя нормально!
|
Сообщение от Solovei95
|
Личный пример! Работает просто!
|
Сообщение от Solovei95
|
Такая схема снизит потребление памяти!
|
Сообщение от Solovei95
|
Работает, проверил лично!
|
Сообщение от Solovei95
|
У тебя сильный ляп!
|
Сообщение от Solovei95
|
Мой будет лучше!
|
Сообщение от Solovei95
|
Я вам скажу точно - расхода памяти не будет!
|
Сообщение от Solovei95
|
Как видите - работает цепочка!
|
Сообщение от Solovei95
|
Сам проверял!
|
Сообщение от Solovei95
|
Видите как все просто!
|
Куда столько экспрессии? Зачем столько восклицательных предложений? Зачем создавать по тысяче постов вместо редактирования одного единственного?
melky предложил свой вариант, а Вы сказали, что у него какой-то недостаток, не указав какой. Сами тем временем продолжаете наступать на те же грабли.
И в довершение совершенно непонятная просьба забанить.
Цитата:
|
И кстати, с чего вы взяли, что потребление памяти растет?
Разве из-за постоянного return this ???
|
При чём здесь это? Вы на каждый вызов DOM создаете новый объект и записываете ему кучу собственных свойств-функций (читай — методов) вместо того, чтобы использовать общие для всех объектов данного конструктора.
|
|
|
|