я сделал так:
изначально на странице появляется 1000элементов [img src="#" data-src="настоящий_урл"]
по клику на кнопку - у первых 20 img в src подставляется data-src
думаю это плохое решение - создавать сразу 1000
лучше по мере необходимости создавать новые элементы
и также динамически удалять - конечно встанет вопрос "а как быть с позиционированием и скроллингом"
Смотря что дальше делать с кодом. Если внести пару мелких правок - то вообще не трогать. А если задача долго развивать этот проект ... я бы переписал. По крайней мере когда я столкнулся с подобной задачей - я стал писать с "0" сделав надстройку над исходнымм.
перед отправкой запроса заблокируй кнопку и разблокируй ее после получения ответа.
либо построй локальную очередь клади в нее нажатия но вытаскивай и отправляй их строго по очереди, во втором варианте можно группировать
в самом канвас готового метода рисования стрелки нет, но кто мешает ее нарисовать самостоятельно ? (3-мя линиями, например, или если хочется посложнее - контуром с заливкой ?
а зачем вашему сайту-визитке какое-то редактирование ?
кто будет его редактировать ?
как часто его будут редактировать ?
что именно будет редактироваться на сайте?
с какой целью его будут редактировать ?
и точно ли это будет сайт "визитка" , а не что-то большее ?
какие трудозатраты приемлемы на создание этого сайта?
по моему опыту - ни один из владельцев "сайтов визиток" никогда самостоятельно его не редактировал.
входных данных для оценки трудозатрат мало. "модуль" - значит куда-то встраивается ? куда ? как ? какие требования в дизайну ? к коду ? к комментариям ? к тестам ? и вообще - что вам в итоге надо ? Java - серверная часть - а что там ? или Java на локальном хосте в окошках? или это JavaScript ?
не зная всего этого я бы тоже "заломил" 3 недели. хотя, возможно, ваша задача решается за 3 часа.
p.s. 8*15 = 120 часов... а какой тариф у разработчика в час ? :)
называется SPA (single page application). реализуется при помощи JS фреймворка который дергает API.
бэкенд ModX Revo построен на Modx API + Ext JS (модифицированный под Modx ). соответственно что бы построить SPA фронт можно использовать эти технологии.
p.s. но на мой взгляд это изврат - если у вас достаточно квалификации что бы делать приложения, работающие по API и для построения API - то зачем вам ModX ?
замыкания существуют для связывания функции с некоторым набором параметров
2. В каких условиях они создаются?
они создаются при определении функции (замыкания) внутри другой (внешней) функции, при этом переменные внешней функции будут тем самым привязываемым набором параметров.