Jump to content

abrahadabra

User
  • Posts

    294
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by abrahadabra

  1. да как бы не совсем всё так. Во-первых, это было несколько непривычно, поскольку такого рода пожелания со стороны заказчика на самом деле довольно редко встречаются. Обычно технологии отдаются полностью на откуп исполнителю. То есть, важен результат, а как его добьёшься, заказчика не волнует. Но тут заказчик немного необычный. Это не конечный заказчик, а студия, отдавшая фронтэнд на субподряд. А во-вторых заказчики если называют конкретные технологии, то ведь именно те, которые на слуху, которые популярны и часто используются. Так что от нас самих многое зависит.
  2. весьма неслабый ноутбук затормозил и пошёл на взлёт
  3. Ладно, пусть не react, а angular или ещё какой фреймворк, кому какой больше нравится. Но суть от этого не меняется. Ведь насколько проще было бы разрабатывать, насколько качественнее результат бы получался. Мысль посетила по мотивам недавно выполненного проекта. Вроде как обычный лэндинг, ничего особенного. Несколько форм для обратной связи, и всё. Но было пожелание со стороны заказчика задействовать более традиционные решения, поскольку что-то новое и прогрессивное программист-бэкендщик может не знать. И даже на этом проекте посещали странные мысли. Вот примеры задач: Форма обратной связи. На странице форма из трёх полей, но по нажатию на кнопку открывается всплывашка, а там ещё несколько. И это надо отослать на сервер. Аяксом, разумеется;Среди прочего в форме выбор интервала дат;а также динамические поля, которые создаются/удаляются нажатием на кнопку;разумеется, формам требуется валидация;разумеется, некоторые элементы формы имеют кастомное оформление. Селекты, чекбоксы всякие;а ещё кастомно оформленное поле количества. С кнопочками, увеличивающими/уменьшающими значение. И у него тоже валидация;форма в несколько шагов. От текущего шага зависит контент основной области, набор кнопок внизу, шкала прогресса;меню со скроллингом по странице;и это меню прибивается к верху, как только страница докручивается до такого положения, что меню касается верхнего края окна;слайдеры всякие, вкладки.В общем, всё достаточно обычно. Но в итоге получился довольно объёмный скрипт. Получилось подключение чуть ли не десятка jquery-плагинов, каждый из которых работает по своему. А наладить взаимодействие этих плагинов — отдельная песня. В случае же использования того же реакта получилось бы куда более стройно. Скрипт был бы ровно один. Каждый компонент содержал бы в себе свой функционал, а с другими взаимодействовал бы через api. К примеру: $("body").on("click", ".number_field .action_button", function(){ var $numberField = $(this).closest(".number_field"), $input = $numberField.find(".value"), value = parseInt($input.val()); if(isNaN(value) || value < 1) value = 1; if($(this).hasClass("increase")){ value++; $input.val(value); } if($(this).hasClass("decrease")){ value--; if(value > 0) $input.val(value); } })это же, откровенно говоря, жесть. Когда можно в коде писать: <NumberField value={form.some} min=1 />… а все детали реализации внутри компонента. а вот это: function getTourSetStep(stepNumber) { var stepIndex = stepNumber - 1, $popupGetTourSteps = $("#popup_get_tour_steps"), $popupGetTourContent = $("#popup_get_tour_content"), $popupGetTourButtons = $("#popup_get_tour_buttons") ; $popupGetTourSteps.find(".step").removeClass("active"); $popupGetTourSteps.find(".step:lt("+stepNumber+")").addClass("active"); $popupGetTourContent.find(".step:lt("+stepIndex+")").removeClass("active").addClass("completed"); $popupGetTourContent.find(".step:eq("+stepIndex+")").addClass("active").removeClass("completed"); $popupGetTourContent.find(".step:gt("+stepIndex+")").removeClass("active completed"); $popupGetTourButtons.find(".step:lt("+stepIndex+")").removeClass("active").addClass("completed"); $popupGetTourButtons.find(".step:eq("+stepIndex+")").addClass("active").removeClass("completed"); $popupGetTourButtons.find(".step:gt("+stepIndex+")").removeClass("active completed"); }— это же лютый трэш. Ведь можно <div className={classnames('part', {'active': $index==currenrStep, 'completed': $index < currentStep})}>…</div>а вот: function setMainMenuPosition() { var scrollTop = $(window).scrollTop(); if(scrollTop >= mainMenuDefaultPos) { if(!mainMenuFixed){ $mainMenu.addClass("fixed"); mainMenuFixed = true; } } else { if(mainMenuFixed){ $mainMenu.removeClass("fixed"); mainMenuFixed = false; } } }— приходится вводить глобальную переменную, чтобы не обращаться лишний раз к DOM, а не то тормозить начнёт. Но в том же реакте это автоматизировано, и о такой рутине можно вообще не задумываться. Может я чего не понимаю в жизни? Почему так? При всех очевидных плюсах современных фреймворков до сих пор продолжаем пользоваться тем, что хорошо разве что для того, чтобы один слайдер прикрутить. Что с нами?
  4. такого нет. Какая задача решается? Надо обходиться без goto. Разбить код на функции, вызывать функции в нужный момент.
  5. видеоуроки — это гарантированно тупиковый путь. Изучить поможет только опыт. Для начала определитесь, зачем вам бутстрап. Если для того, чтобы было, а то всё кругом о нём говорят, наверное крутая штука — лучше не надо. Если для того, чтобы некоторые типовые задачи выполнять быстрее — ок. Если для того, чтобы переложить на бутстрап вопросы кроссбраузерности — тоже ок. Если для того, чтобы упростить работу с адаптивностью — ок. Если для того, чтобы хоть какую архитектуру положить в основу — ну… допустим. Читайте исходники. Этого ничто не заменит. Берите какую-нибудь часть и разбирайте. Например, сетку. Например, пришёл макет, где контент разбит на 7 равных колонок с отступами в 12px между ними. Какой видеоурок тут поможет? Правильно, никакой. А почитав исходники, можно легко понять, какой миксин что делает, как, наконец, выключить одной переменной эту тонну ненужных классов, засоряющих итоговый файл стилей. Даже в официальной документации нормальное применение описано весьма поверхностно. Так что без вариантов: читать исходники.
  6. Пожалуйста, разместите код на jsfiddle Пожалуйста, никогда не делайте *{ margin:0; padding:0; }
  7. да размеры-то можно и по жпегам замерять. PSD нужен уже когда макет на слои разбирать.
  8. google fonts — это просто. На самом сервисе выбираете нужный шрифт и получаете css, который нужно подключить. А затем в своих стилях пишете font-family: 'PT Sans', и всё работает. да просто по макету замеряются размеры и всё. Хоть инструментом выделения в фотошопе. А можно ещё в браузер расширение pixelperfect поставить, в веб-инспекторе подгонять размеры, и что получится, писать в код. А потом рефакторить, да…
  9. а покажите, когда получится.
  10. ага, именно ко всем элементам на странице. Вообще лучше normalize.css использовать, или какую-либо свою производную, если стандартный не устраивает.
  11. так его можно не обрезать, а уголки прикрыть белыми блоками, повёрнутыми свойством rotateZ
  12. что-то всё иначе: шрифты, размеры, даже порядок пунктов в меню. Хотя ваш вариант лучше дружит со здравым смыслом. Большая-большая просьба всем верстальщикам. Не делайте, пожалуйста, так: * { margin: 0; padding: 0;}Потом же у клиента секретарша Леночка начинает из ворда копировать в визуальный редактор, а там все абзацы и списки в кашу смешаны. И получается скандал на ровном месте. Да и крутые пацаны что-то про производительность говорят, что это плохо.
  13. насчёт карты наверное должно помочь что-то такое: https://developers.google.com/maps/documentation/javascript/examples/overlay-simple— картинку можно сделать с прозрачным кругом. насчёт видео — а почему бы не обычный тэг <video>?
  14. да ладно вам переживать. Тема — троллинг чистой воды.
  15. если б клик, то ещё можно было бы, но по наведению нет.
  16. не у профессионала же! Да и если взять даже предложенную вами сумму 35к, для простоты счёта 40, то день, получается, стоит 2к. Вы же предлагаете сделать высококачественную вёрстку по цене низкооплачиваемого дня. Не сходится. Либо в качестве потеряете, либо сумма всё же другая должна быть. ну хотя бы 20… вы правы. Постараемся подсказать. Ради Летающего Макаронного Монстра и прочих богов, извините за прямоту, но требования выглядят несколько неадекватными. Вообще вы можете рассчитывать на то, что вам очень повезёт, и за работу возьмётся юный падаван. Для него деньги не главное, он хочет опыт получить. И будет искренне стараться сделать как можно лучше, и чтобы опыт получить, и чтобы работу в портфолио положить. Для вас это хороший вариант. Но у юного падавана может просто не быть опыта и портфолио на момент обращения. Ну и, честно говоря, в этом случае есть некоторый элемент лотереи. Либо же всё-таки профессионал, но денег других будет стоить. так-то да. Но работа такого уровня не требует особого профессионализма. Среднего уровня вполне достаточно. Ок. Буду признателен если потом сообщите по коду Ваше мнение. Почему нет? Здесь на форуме есть раздел, где оценивают и критикуют работы. Обычно всё-таки верстальщики выкладывают сами свои работы. Но наверное нормально будет, если вы покажете там заказанную вами работу. Дождитесь нескольких мнений. Тогда оценка будет объективной. Лично я, извините, не предлагаю свои услуги. Во-первых, занятость сейчас есть, во-вторых, вам опытный нужен, а не школота 16 лет от роду В третьих, всё-таки программер, не верстальщик.
  17. да ладно потешаться… Автор, а можно вам просьбу? Ничуть не сомневаюсь, что вы найдёте исполнителя, удовлетворяющего требованиям. А расскажите, пожалуйста, когда найдёте.
  18. и у того и у другого есть js-api
  19. а в чём сложность? А то это совершенно штатная же штука. http://getbootstrap.com/javascript/#carousel— посмотрите на . carousel-indicators
  20. не в этом дело. У вас сначала выбираются ссылки на абзацы, а потом document.write их убивает. И попытка вывести содержимое несуществующего абзаца.
  21. abrahadabra

    childNodes

    не, всё не так. Вот так выведется ожидаемая вами троечка. Дело в чём. Нулевая нода — это текст перед первым дивом. Первая — тот самый первый див. Вторая — текст между первым и вторым дивами. А вот третья и есть тот самый второй див.
  22. да мы вообще как-то глупо холиварим. А хочется-то нормально, по-человечески. Говорим о CMS, а заодно приплетаем фреймворки. Аргументы в пользу того или другого — оно круто! А хочется-то с примерами кода. Вот Николя привёл пример — визуальный редактор в вордпрессе — и всё, других аргументов ни в пользу чего не было Это аргумент, да. Для людей, которые не хотят вникать в тонкости веб-разработки, но мозгом обладают, это хорошо. Ну а дальше-то что? Даже эти люди, которым вордпресс поможет на первых шагах, могут захотеть расширить своё присутствие в этих ваших интернетах. Тогда что?
  23. с точки зрения 1с там все сделано как раз таки хорошо. Главная фишка там как раз интеграционное решение из коробки, а не просто поле для деятельности. нет, не хорошо. Предполагается строго определённая структура выгрузки. А если она иная, то пишите скрипты. Структура выгрузки же не соответствует представлениям битрикса почти всегда, когда у организации настроен каталог под себя, а не под битрикс.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy