Задать вопрос
  • Что значит "отличные знания html/css"?

    ShadowOfCasper
    @ShadowOfCasper
    simka alien: дело в том, что:
    а) Бутстрап - громоздкий фреймворк. Правильно его использовать, не засоряя код ненужным говном можно только через препроцессоры с возможностью наследования через % (тихий класс) - загугли если интересно. Я все компоненты так наследую - выходит так называемый object orientated css - как результат вёрстка даже на тупящих 500kb/s грузится сверхбыстро. максимум секунда-две.
    б) Бутстрап на front-end (админки не берём в расчёт) применяют в 99.9% случаев только ради сетки. Я сетки не юзаю - flexbox намного более удобен. Вся моя "сетка" выглядит вот так:
    %row{
      display:flex;
      flex-wrap: wrap;
      list-style: none;
      &--sm-wrap{
        @media(max-width: 1023px){
          flex-wrap: wrap;
        }
        @media(min-width: 1024px){
          flex-wrap: nowrap;
        }
      }
      &--centered-x{
        justify-content: center;
      }
      &--centered-y{
        align-items: center;
      }
      &--between-x{
        justify-content: space-between;
      }
      &--righted-x{
        justify-content: flex-end;
      }
    }
    %column{
      display: flex;
      flex-direction: column;
    }

    в) Компоненты твиттера у всех уже поперёк горла. Эти парни с чего-то решили, что кнопки должны быть именно border, border-radius, padding, background-color. Как и инпуты и ещё куча всего. Вот это приравнивание компонентов под 4 параметра замыкает творческий кругозор разрабов, большинство из которых, если поднатужатся, то смогут и веб-дизайн освоить без photoshop. Прототипируя интерфейс прямо в браузере.

    г) В бутстрапе очень навязчивые классы. Фреймворк должен быть применим только осознанно. Не создавая лишних багов - он должен быть в своей абстракции. Какого хрена вназывать стили кнопок классом btn? А если я буду применять этот класс в проекте для чего-то другого? (конечно, вряд-ли - я на БЭМ всё пишу, но всё же). Например, в малоизвестном но куда более комфортном blazeCSS компоненты начинаются с o-class или c-class - что даёт меньшую навязчивость
  • Верно ли, что логика приложения не должна быть в Angular, а должна оставаться в Node?

    ShadowOfCasper
    @ShadowOfCasper
    Urukhayy: годный аргумент. В таком случае, если обработка самого алгоритма будет происходить на сервере, то встраивать его составные части в ангуляр скорее всего и не получится, поскольку в алгоритме будет своя область видимости данных. Его даже необязательно на серверном js писать. Можно использовать что-то другое: python, php, C#, ruby... just открывай ajax, постай входные данные, следи на response (чтоб не скучал юзер, пока ведётся расчёт, я бы повесил preoader) и получай data, размещая их в шаблоны.
    Вообще для этого даже ангуляра не нужно. Если у тебя не single page app, или же app с одной страницей без сложного route по урлам то для этого легче использовать jQuery с его xhr = ajax({param:value}); xhr.success() и $(document).ajaxStart() и .ajaxStop()
  • Не срабатывает скрипт, где ошибка?

    ShadowOfCasper
    @ShadowOfCasper
    Роман Байдаков: сорян, тупанул. У window нет outerHeight, только у блоков и документа.
    var scrollBottom = $(window).scrollTop() + $(window).height();
  • Почему может некоректно работать пагинация в GridView загруженых через Ajax?

    ShadowOfCasper
    @ShadowOfCasper
    mitaichik:
    . Ваш предложение переинитить функцию которая отвечает за логику после ухода в display:none предполагает что вы считаете будто эта логика сбрасывается (иначе зачем заново инитить), что не является правдой.

    Эта логика сбрасывается, потому что она может опираться на параметры высот, ширин, отступов итп. Она может сбрасываться. Если ты с этим не сталкивался, это не значит, что такого не бывает. Ещё раз для твоего тугопонимающего аппарата повторю - попробуй в табах/аккордеонах, опирающихся на display:none создать слайдер. Ты поймёшь о чём я.

    В yii по умолчанию bootstrap 3, так что флекса там нет. Так же в кода используются стандартные элементы bootstrap и yii у которых нет проблем с повторным отображением

    Это тут вообще не при чём, я и так по коду понял, что в нём этот сраный говнострап. Лишь бы этот кусок дерьма втусить куда нибудь. Правильно, backendеры ведь не могут адекватно компонентно писать интерфейс. Почему бы не поднасрать им бутстрапом - пипл хавает.

    Opacity:0 - не скрывает элемент, а всего лишь делает его прозрачным, элемент то все еще показывается. Сравнивать opacity и display - это как сравнивать теплое с мягким - у них совершенно разно предназначение.

    display: none не скрывает элемент, а удаляет все его параметры стилей. Скрывает visibility hidden, раз уж ты решил до определений до*ться. И поверь мне - opacity + pointer-events прячет элемент не хуже display none с точки зрения юзабилити, а с точки зрения performance намного более производительный способ, и намного более дружелюбный к транзишенам на css, нежели display none. Я уверен, что при переключении табов логику внутренних компонентов достаточно обернуть в функцию и переинициализировать, чтоб она заработала. Или, что более производительно, использовать opacity + pointer-events. Хватит спорить, я доказывал это в боевых проектах не раз. Вот тебе пример со слайдером в аккордеоне - посмотри js - там остались sourcemaps: ntpo-vektor.ru/sertifikates.html
    Вот тебе пример модалок на opacity + pointer-events: extremeart.spb.ru
    Найди хоть одно отличие в юзабилити. Нет их. А браузеру произвести эту анимацию гораздо легче, чем изменять display.
  • Почему может некоректно работать пагинация в GridView загруженых через Ajax?

    ShadowOfCasper
    @ShadowOfCasper
    mitaichik: нет, не бред. Сам ты бред. Никто не говорит, что display none удаляет обработчики. Где ты в моём ответе это вычитал? Я сказал, что при display none теряется огромное количество свойств элемента, которые могут использоваться в скриптах. Значения пропорций элемента, их размещения в потоке флексов... пропадает всё. Я с таким сталкивался, когда в аккордеон решил спрятать слайдер и тоже долго тупил. А юзать opacity + pointer-events - не костыль. Сам ты костыль. Эти два свойства интерпретируются блинком куда быстрее, чем display none - block. Расскажи человеку, у которого вёрстка за 0.4 сек грузится
  • Почему не работает drag'n'drop в кодовые редакторы на ubuntu?

    ShadowOfCasper
    @ShadowOfCasper Автор вопроса
    спасибо, что напомнил о проблеме. Твой способ костылёк, но я решил ещё раз попытаться переустановить sublime полностью, но добавив офрепу разработчика. Раньше с офреп ubuntu устанавливал. Удалил, запуржил, снёс конфиги, добавил репу разрабов редактора, обновился, установил... Работает))))))
    Удаляю атом)))))
  • На какой бесплатной CMS можно оперативно сделать лёгкий сайт?

    ShadowOfCasper
    @ShadowOfCasper
    Василий Назаров:
    К меня стойкое ощущение, что создан он для тех, кто хочет подсадить клиентов на хрень, в которой потом никто, кроме подсадившего, не разберётся

    Вот тут ты ошибаешься. Многие разберутся в MODX. WordPress - это CMS. MODX это CMF. Это две разные вещи. Если в wordpress приходится копаться в php, то в случае с MODX - всё организовано модульно. Весь роутинг инфы строится на шорткодах. MODX - универсальное решение для любых задач. Кроме того крайне прост в освоении и намного более гибок к любой стилистике составления вёрстки.
    В нём гибкая архитектура - с одной стороны это хорошо, ибо знающий как писать интерфейсы распределит всё верно. С другой стороны плохо. бо говнокодер-новичок способен наговнокодить так, что придётся с нуля рефакторить.
    Да, о MODX мало кто знает. Однако факт, что с joomla, wordPress, bitrix, prestaShop я пережил столько геморроя при масштабировании и доработке после запуска, что никогда не забуду. А MODX масштабируется идеально. Обновляется идеально. И не зияет грёбаными XSS дырами в полях авторизации аккаунтов!
  • В чем разница между var и this.var в java?

    ShadowOfCasper
    @ShadowOfCasper
    Alex Void: это что-то типа $scope в ангуляре. В зоне видимости любой функции образуется объект this. В этот объект можно помещать данные (включая другие функции - тогда вызов this.funcName будет возвращать то, что возвращает функция), они будут defined только в данной функции
  • Как сделать 2 блока в ряд?

    ShadowOfCasper
    @ShadowOfCasper
    BedOmar: ещё ты можешь перевернуть порядок через flex-direction: column-reverse. Вариантов куча. Ознакомься с гайдом - у тебя отпадут все вопросы
  • Как сделать 2 блока в ряд?

    ShadowOfCasper
    @ShadowOfCasper
    BedOmar: вообще желательно изучи стайлгайд по флексбоксам чтоб забыть о бутстрапах и самому научиться пилить потоки элементов интерфейса.
    https://css-tricks.com/snippets/css/a-guide-to-flexbox/
  • Как сделать 2 блока в ряд?

    ShadowOfCasper
    @ShadowOfCasper
    BedOmar: Если хочешь контролировать порядок, то дай wrapper__item дополнительный класс и добавь ему свойство order (значение от 0 до сколько хош)
  • Сложно ли создать конструктор сайтов (Дипломная работа)?

    ShadowOfCasper
    @ShadowOfCasper
    pashaa: тогда нужно брать своё оригинальностью интерфейса. Простотой использования, а не техническими тонкостями приложения. Постарайся вникнуть в UX, вывезти на нём
  • Что с JS? Почему выдает ошибку со свойством window?

    ShadowOfCasper
    @ShadowOfCasper
    Дмитрий Смыков В стэктрейсе есть ссылки на место кода с ошибкой. Было бы неплохо увидеть его. А лучше просто ссылку оставьте на ресурс с ошибкой. Так вообще проще всего
  • Как запустить выполнение js файла при нажатии на кнопку?

    ShadowOfCasper
    @ShadowOfCasper
    Никита Полевой: наверно потому что это единственный инструмент для реализации подобной задачи. Хотя по итогу для сервинга всё равно таск-раннером (gulp или grunt) всё компилируется в один js-файл... Ну без ноды подобное вряд ли получится сделать.
  • Как запустить выполнение js файла при нажатии на кнопку?

    ShadowOfCasper
    @ShadowOfCasper
    Никита Полевой: их множество, и все они всё равно ставятся через npm. require просто нативный метод и его вполне достаточно в рамках данной задачи. Меня больше выбесил этот ч(м)удак Arris своим комментом. У меня прям бомбануло))))
  • Как запустить выполнение js файла при нажатии на кнопку?

    ShadowOfCasper
    @ShadowOfCasper
    Arris: Никита Полевой: так отчего же вы свои варианты не предложите? Если способов разбить js на файлы и вызвать один в другом множество (помимо require) - выскажитесь! Мне интересно!)
  • Как запустить выполнение js файла при нажатии на кнопку?

    ShadowOfCasper
    @ShadowOfCasper
    Никита Полевой: ну так раскажи, как же раскидать js на файлы и без require вызвать один в другом?) тупо их подряд в script src вложить?) Это явно не то, что нужно))))