Показать сообщение отдельно
  #1 (permalink)  
Старый 21.02.2013, 22:04
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Оцените страничку (ООП)
Сделал небольшой плагин, который динамически вычисляет цену товара, в зависимости от количества товаров в корзине

Хотел полностью отделить DOM от кода, вроде получилось.

Это мое первое ООП, хотелось бы услышать мнения!

Демо: http://demo.hnoe.ru/7.html
Код на github: https://github.com/hnoe/Sale-Plugin


Как работает:
сам скрипт помещается в head, в body создается объект с данными DOM:

(function (window) {
    "use strict";

    var d = window.document,
a = new window.App({

itemsBox         : d.getElementById("items"),      // контейнер с товарами
cartItemsBox     : d.getElementById("cartItems"),  // элемент вывода кол-ва товаров в корзине
cartPriceBox     : d.getElementById("cartPrice"),  // элемент вывода суммы за товары в корзине
discountBox      : d.getElementById("discount"),   // элемент вывода скидки
postButton       : d.getElementById("post"),       // кнопка оформления заказа
switchBox        : d.getElementById("discounts"),  // контейнер с кнопками для переключения скидки
displayCart      : d.getElementById("cartItems"),  // элемент отображающий содержимое корзины

switchArr        : d.getElementById("discounts").getElementsByTagName("button"), // массив кнопок со скидками

modelClass       : "name",  // имя класса элементов с названием модели
oldPriceClass    : "old",   // имя класса элементов со старой ценой
newPriceClass    : "new",   // имя класса элементов с новой ценой
toCartClass      : "to",    // имя класса кнопки "в корзину"
fromCartClass    : "from",  // имя класса кнопки "из корзины"

toCartText       : "положить в корзину", // текст элемента кнопки "в корзину"
fromCartText     : "убрать из корзины",  // текст элемента кнопки "из корзины"

url              : "action.php" // для ajax

}).init();

}(this));

Последний раз редактировалось dmitry111, 21.02.2013 в 22:27.
Ответить с цитированием