Добрый день. Начал писать скрипт интерактивной навигации по карте в виде игры. Но в один момент решил, что я делаю что-то не так...
Вот думаю, может его лучше использовать как плагин для jQuery? Или для данной задачи в этом нет необходимости.
Суть в том, что у меня есть база в формате json
Она содержит объекты комнат,
Каждая комната содержит объекты со своими координатами, на которые вешаются события.
Я сделал просто скриптом с использованием jQuery. Но внутренне что-то подсказывает, что лучше его плагином сделать... Т.к. он даже в 150 строк становится не совсем очевидным в некоторых местах...
В общем вопрос.
Как "правильно" генерировать дочерние объекты к сгенерированному объекту и подвешивать на них события?
Т.е. допустим я генерирую
var $room = $('<div></div>');
а дочерние так?
objects.each(function(){
var $obj = $('<div></div>');
$obj.addClass('obj');
$obj.on('çlick', function() {
goToRoom(параметры для перехода в другую комнату);
});
$room.append($obj);
});
Или как лучше?
в итоге что-то типа (в упращённой версии)
(function($) {
$.fn.myMap = function(options) {
function goToRoom() { смена комнаты };
function createRoom(id) {
var room = db.room[id];
var $room = $('<div></div>');
room.objects.each(function(){
var $obj = $('<div></div>');
$obj.addClass('obj');
$obj.on('çlick', function() {
goToRoom(параметры для перехода в другую комнату);
});
$room.append($obj);
};
return this.each(createRoom(options.startRoom));
};
})(jQuery);
будет ли такой вариант "правильным"?