Ответы пользователя по тегу HTML
  • Как правильно организовать верстку контента под ajax?

    @bromzh
    Drugs-driven development
    Если надо сделать и забыть - то пофиг, и так сойдёт.
    Если это поддерживаться и развиваться будет, то освой Knockout/Angular/etc. Делаешь привязку к данным через AJAX, на клиенте сохраняешь данные в ViewModel (или ему подобное), клики связываешь с выводом попапов.
    Вот пример на Knockout:
    <script type="text/javascript">
        function PopupModel(data) {
            var self = this;
            ko.mapping.fromJS(data, {}, self);
        }
        function ViewModel(data) {
            var self = this;
            var activePopup = ko.observable(null);
            ko.mapping.fromJS(data, {}, self);
            var popUpChooser = function(popupId) {
                $.getJSON('/api/popup/' + popupId, function(data) {
                    // Получаем инфу для одного попапа
                    // JSON:
                    // {
                    //     'id': '1',
                    //     'name': 'foo',
                    //     'email': 'foo@example.com'
                    // }
                    self.activePopup(new PopupModel(data));
                })            
            }
        }
        $(function() {
            $.getJSON('/api/popup/ids/', function(data) { // получаем список Id инфы для попапов
                // JSON такого вида: { popupIds: ['1', '2', '3'] }
                ko.applyBindings(new ViewModel(data));
            });
        });
    </script>
    <div data-bind="foreach: popupsIds">
        <input type="radio" data-bind="attr: {value: $data}"/>
    </div>
    <div class="popup" data-bind="if: activePopUp"> // отображаем, только если есть активный попап
        <div data-bind="text: activePopup().name"></div>
        <div data-bind="text: activePopup().email"></div>
    </div>

    Можно вообще сразу загружать всю инфу про попапы, код немного поменяется, но смысл тот же.
    Ответ написан
  • Практическая часть изучения ЯП и web технологий?

    @bromzh
    Drugs-driven development
    Сперва реши, какая часть тебе больше нравится - фронтенд или бэкенд. Знать придётся всё, но лучше углубиться в одно направление.
    Если выбрал первое - бери готовый сайт, попытайся сверстать так же, без особого подглядывания в исходники. Потом добавляй интерактив на страницу. Потом бери какой-нибудь mvvm-фреймворк на JS и сделай одностраничное приложение. Не забывай учиться, как взаимодействовать с серверной частью. Инструменты: препроцессоры для CSS - Less/SCSS, библиотеки для JS - jQuery, Knockout, Angular, etc.
    Если хочешь заниматься бэкендом на питоне - бери и изучай какой-нибудь фреймворк, для начала подойдёт Django. Сперва делай сайт, типа бложека, новостного или магазина. Потом добавляй всякие плюшки - пагинацию, RSS, затем делай REST API, переделай сайт, чтобы он мог подгружать данные без перезагрузки страниц. После этого изучи другой фреймворк , сделай тоже самое на нём. Потом изучай асинхронные штуки, прикрути к твоему сайту чатик. Инструменты - Django/Flask как обычные веб-фреймворки, Twisted/Tornado/asyncio для асинхронных штук. ZeroMQ (или другие MQ), Celery для общения между приложениями. Неплохо научиться работать с разными видами БД: как SQL, так и NoSQL.

    Но в реальной жизни хрен знает, что тебе пригодится для работы.
    Ответ написан
    Комментировать