[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Общий код
Telez
Здравствуйте
У меня есть сайт сдачи номеров в гостинице. На каждой странице есть календарь с занятыми или свободными днями. На каждой странице - свой календарь.
Я его закачиваю с load(). Также есть кнопки влево-вправо которые меняют месяц.
Из-за этого страница очень большая. И если нужно добавить в функцию, то нужно пробегать по всем страницам.
Можно ли в jQuery все это вынести в отдельный файл?
volter9
Telez
Не очень понятно что Вы имеет в виду под "свой календарь". Вы хотите сказать что на каждой странице один и тот же код для создания календаря или что?

В jQuery можно создавать плагины который выносит похожий функционал в один метод, вот пример:

(function ($) {
$.fn.makeGreen = function () {
this.css('background-color', 'green');
};
})(jQuery);


Это плагин который делает задний фон зеленым:

$('#wrapper').makeGreen(); // Теперь задний фон обертки будет зеленым


Наверное это то что Вам нужно. Вынести весь код в плагин и использовать на каждой странице разные календари.

_____________
Мой блог
Telez
Вы правы - календарь это один и тот же код, но в который передаются разные параметры: код номера, год и месяц. Это причина что мне нужен общий код - в будущем будут передаваться новые параметры. Не хотелось бы изменять код на каждой странице, особенно если их будет 200-300.
volter9
Цитата (Telez @ 2.01.2015 - 08:40)
Вы правы - календарь это один и тот же код, но в который передаются разные параметры: код номера, год и месяц. Это причина что мне нужен общий код - в будущем будут передаваться новые параметры. Не хотелось бы изменять код на каждой странице, особенно если их будет 200-300.

Как я Вам написал выше, Вам надо создать плагин для ваших календрей.

Цитата
код номера, год и месяц


Я не видел Ваш код, но Вам стоит поступить так:

1. Создать метод расширение для jQuery
2. Описать параметры по умолчанию
3. Адаптировать код под расширение
4. PROFIT!

Как приблизительно это должно выглядить:
(function ($) {
// Тут Ваши функции/объекты

$.fn.calendar = function (options) {
var default = {
number: 0, // Код номера
year: 2015, // Год
month: 0 // Месяц
};

options = $.extend(default, options);

// Тут вызов функций или создание объектов
};
})(jQuery);



_____________
Мой блог
Telez
Большое спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.