Loading...
velio84 avatar velio84 241 Точки

[Homework] Advanced JS - JavaScript Design Patterns

Здравейте,

мъча се със задачата to-do лист. Ето примерен код

 

var createNewSection = (function(title) {
var sectionNode = document.createElement('section');
sectionNode.style.border = '1px solid black';
var sectionTitle = document.createElement('h2');
sectionTitle.innerHTML = title;

return {
addToDOM: function() {
document.getElementById('container').appendChild(sectionNode);
}
}
}());

въпроса ми е следния:
как мога да изпълня createNewSection отвън и в същото време да му подам title?

Май не обясних много добре какво искам, но не мога по-добре :)

 

нещо от сорта на

createNewSection('sometitle').addToDOM();

идеята ми е в eventListener-a за бутона, при кликане да взема стойонстта в inputField-a за име на секцията и след това да я подам на createNewSection

 

edit:

Ето какво успях да сътворя. Нямам абсолютно никаква идея колко е правилно, но горе-долу работи laughing

todo List Demo

Нямам валидация на информацията и хвърляне на exception-и. Ако не ме домързи утре, може и да го дооправя.

 

edit 2:

сложих и валидация с exceptions -> ако има вече секция със същото име или ако input-а за нова секция/нов item е празен :)

Тагове:
0
JavaScript Advanced 23/03/2015 11:46:07
dim4o avatar dim4o 288 Точки

Здравейте,

ето и моя TODO List + demo

Има неща, които не са оптимизирани, но общо взето съм гледал да спазя MVC модела. В първия вариант, който направих listener-ите се генерираха динамично чрез други  listener-и, но сега съм сложил един да слухти на цялото body и в зависимост къде е клика се извиква подходящия onClick. Предполагам е добра практика listener-ите също да се отделят в модулче.

В началото ми се стори пълна безсмислица да правя някакви модели, да слагам инфо в тях и после да си го вземам (при условие, че не се складират никъде тези данни в момента). Освен това в случая са важни Node обектите от DOM-а, т.е. това са реалните обекти, с които работим. Някак си целия модел ми изглеждаше безмислено структуриран по този начин. Преди няколко дни обаче реших да добавя нови бутони и fade ефекти и си промених мението. Понеже си имах вече псевдо клас бутон заедно с други харабии и нещата станаха просто за нула време.

5
24/03/2015 12:52:42
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.