Ответы пользователя по тегу JavaScript
  • Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Стоит ли гнаться за лаконичностью кода?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    На "родном" языке лаконичность приходит сама собой, хотя иногда смотришь на свой код - зачем здесь эти 4 сторки, это же все в 1 легко... А на новом "многословность" чаще всего обусловлена отсутствием практики и нюансов реализации конкретного яп.
    Ответ написан
    Комментировать
  • Почему функция постоянно возвращает undefined?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    во первых, хочу поблагодарить создателей jquery, счастья, здоровья, всех благ и долгих лет жизни. Я глаза сломал и мозг вывихнул, пока натив этот читал. Это к спорам о жквери вс натив жс. Жирный плюс жк за читаемость кода. Я все понял, но это какой-то Содом и Гоморра.
    Во вторых - как вам уже Arik намекнул, в функции вы не выполняете этот иф, который так вас раздражает отсутствием реакции. Вы создаете слушателя, который при срабатывании клика отработает этот иф. По этому var result = setCheckBox(); выдает андефайнед, с резалтам внутри ничего не происходит.
    В третьих - выставить в фиддл код и не вписать хтмл и цсс - это вообще за гранью добра и зла.
    Ответ написан
    Комментировать
  • Почему код не работает?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Чет в коде нигде не подключается jquery, в консоли должны сыпаться ошибки, которые можно посмотреть и обмозговать, но скорее всего тупо не подключен жквери.
    Ответ написан
  • Как правильно вставить большую строку в div чтобы работало в браузере edge and IE 11?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Это конечно не очень хороший совет, но попробуйте через jquery, у него вроде совместимость с разными браузерами это фича.
    В интернетах пишут что этот специфический глюк обходится заранее созданным элементом div, в него все фигачется через innerHTML, и этот див уже аппендится куда надо.
    var newdiv = document.createElement("div");
    newdiv.innerHTML = someString;
    var container = document.getElementById(id);
    container.appendChild(newdiv);
    Ответ написан
    1 комментарий
  • Возможен ли повтор функции php без использования JS?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это опять очередной велосипед с "гениальной" идеей делать какие-то мелкие действия по истечении времени. 50% на то что в базе должно меняется "по крону" какое-то поле типа устарело. Включите мозг, решения не всегда такие "простые", обычно все проще, просто надо подумать.
    Ответ написан
    Комментировать
  • Как работать с классами через Ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У вас по кнопочке аяксом подгружается форма? Зачем? Вы что-то введенное пользователем получаете?
    Аякс нужен там, где заранее сформировать какие-то элементы нет возможности, или вариантов слишком много, в данном случае всего 2 формы, с заранее известными параметрами, нет смысла для этого аякс прикручивать. Делаете 2 формы, даете атрибут хиден, по выбору кнопочки показываете нужную форму. При заполнении формы уже можете аяксом отправить пользовательский ввод, но можно и просто субмитом обойтись, по вкусу.
    Ответ написан
    3 комментария
  • Почему не работает код?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    if($('select :selected').val() == '--Выберите город--'){

    ну и сделайте консоле.лог этого селекта валуе. Неужели так трудно посмотреть что и на каком этапе пошло не так?
    Ответ написан
    Комментировать
  • Как повесить addEventListener на несколько событий?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    getElementsByClassName() и задать любой общий класс
    Ответ написан
    Комментировать
  • Есть ли какие-то приложения для сохранения полезных ссылок на различные библиотеки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Хром закладки - папки - тэги, пока удобнее любых "инструментов" и "всегда под рукой". Если сразу с темой не могу определиться, кидаю в общую папку с инфой, как только количество неупорядоченного переваливает за слегка раздаражающее глаз - посвящяю 5 минут сортировке по папкам. Ничего удобнее имхо не придумать.
    Ответ написан
    Комментировать
  • Как переключать атрибут при клике на чекбокс?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    $("#check").click(function(){

    Сергей ZSA, в корне не верно, никогда так не пишите, во первых .click устаревший синтаксис, используйте .on(), во вторых если чекбокс сработает по клику на лейбл, а не на чекбокс, событие обработано не будет. Пишите $("#check").on("change", function(){
    Ответ написан
  • Как, чем пишут(реализуют) сообщения между пользователями на сайте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов масса.
    Один из самых обкатанных и производительных - сокет.ио, но нужно будет ставить отдельно сервер ноды, если не на ноде проект.
    Вариант с пхп и лонг поллинг - на хабре есть пару толковых статей. Приемлемый вариант, его использует вк, например, но у них там свой пхп, с блэкджеком и компиляцией. В целом, при небольшой нагрузке и всем написанном на пыхе - нормальный вариант.
    Вариант с жс и пхп, чат инициализируется с клиента запросами к аякс куску сайта, отвечающему за чат. Ставится сет интервал 10-15 секунд и опрашивается сервер на предмет "есть чё?". Минусы: задержка между сообщениями до 15 сек, и бомбежка сервера запросами.
    Есть еще экзотика всякая, но там уже совсем треш и угар имхо.
    Ответ написан
    Комментировать
  • Как сделать предпросмотр видео?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Оу, свой порнохаб с блэкджеком?
    Для тытруба
    Ответ написан
    Комментировать
  • Как обновить координаты на карте при перетаскивании маркера google map?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    В нативном жс:
    google.maps.event.addListener(marker, 'dragend', function(evt){
       // do code here
    }

    если на всем протяжении - drag вместо dragend
    Ответ написан
    Комментировать
  • Ползунок выбора диапазона времени?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    не лучше задавать селектором? типа такого, один для начала другой для конца.
    Ответ написан
    Комментировать
  • Как сделать исчезновение инпута по кнопке, после выполнения php-кода?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    $('form').on('submit', function(
    {
       $('.hideme').hide();
       $('.showme').show();
    }))
    Ответ написан
    Комментировать
  • Правильно ли отправлять данные всегда по одному адресу AJAX?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    у меня достаточно много всяких кнопок которые отправляют ajax запрос, и все они у меня летят по одному адресу:

    если они все выполняют общую функцию(допустим добавляют разные товары в корзину) то все ок.
    Если это принципиально разные действия, то и пути(route) у них должны отвечать действию, это
    а) Не создает путаницы в коде js, четко определяя что делает запрос(например /ajax/basket/add/66)
    б) четко разделяет на сервере логику каждого действия, не вбахивая тупо в одно место весь код и не плодя god objects
    в) Это красиво, модно и пахнет елкой
    Ответ написан
    Комментировать
  • Как нарисовать данный макет для сайта с помощью html, css, js?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    По вопросу не очень понятно что вы хотите получить, если нужно рисовать фигуры на хтмл/цсс/жс есть варианты:
    1) Канвас, как уже упомянула @nata-ponchik
    2) CSS стили со скруглением углов для кругов
    3) SVG объекты
    4) тупо вставить картинку и наложить на нее текст, если надо, как написал Froggyweb, это не всегда подходит, но как вариант..
    5) Извращения типа флеш и сильверлайт (привет из 2010).

    Если поломать мозг пару часов можно еще вариантов настрочить - например расположить пнг с прозрачностью в нужных местах через позиционирование и z-index.
    Ответ написан
    Комментировать
  • Почему не компилируется php в javascript-коде?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В качестве сервера использую NodeJS.
    В файле index.html вставил скрипт:

    1) Нода отвечает на все запросы по хттп, соответственно некому отдать файл на интерпретацию в пхп
    2) Установлен ли на сервере пхп вообще?
    3) пхп не компилируемый, а интерпретируемый.
    4) стандартное расширение для обрабатываемых пхп файлов (сюрприз!) - .php
    Ответ написан
    Комментировать