• В jQuery при выборке класса, где в конце названия стоит точка, выходит ошибка, как быть?

    0xD34F
    @0xD34F Куратор тега JavaScript
    $('.nameClass\\.')
    Ответ написан
    Комментировать
  • Как менять содержимое сайта в зависимости от пола и возраста посетителя?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    счетчики берут из Яндекса и Гугла

    а посетителя спрашивайте что значит слово kodak
    Ответ написан
    Комментировать
  • Как ускориться и быстрее писать веб-приложения?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Сколько времени у вас уходит на развертыванием веб-проекта

    3 часа 14 минут. Не зависимо от ТЗ и сложности. Просто чудо какое-то что б не делал всегда 3,14 часов. Что бы не делал - 3,14 просто ПИ...тое число.

    Хочу ускориться, делать больше работы за единицу времени

    Найми сотрудников. Или прими за единицу времени большую единицу. Еще есть опыт, он со временем даст прирост скорости.

    Неужели создание сайта (верстка, бэкенд, фронтенд, проектирование бд итд) настолько нудный и муторный процесс?!

    Вам виднее, это дело вкуса. Если Вам нудно - значит нудный. Попробуйте копать траншеи, может веселее пойдет.

    Поделитесь секретными инструментами, приемами, фреймворками, позволяющими выполнять проект за считанные дни.

    boostrap, vue, jquery, gulp, нормальная IDE, опыт и т.д.
    если надо волшебства - беритесь за проекты, которые делаются за "считанные дни". Например, работайте только wp и готовыми шаблонами. Думаю за пару часов можно собрать сайт (3 часа 14 минут).
    Ответ написан
    Комментировать
  • Как сделать пагинацию в reactjs? (без стороних библиотек для компонентов)?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Как я понял нужно для начала спарсить все в хранилище и потом уже работать с ним?

    Вы все неправильно поняли. Пагинация должна быть на стороне сервера, а параметры поддерживаться API.
    Пример запроса:
    GET '/api/users?limit=20&sort=name&page=3
    Пример ответа:
    {
      users: [ ... ],
      page: 3,
      limit: 20,
      quantity: 450,
    }


    По данным о странице, общем количестве пользователей и лимите строите пагинатор на клиенте.
    Ответ написан
    3 комментария
  • Как найти в массиве объектов нужный объект по ключу?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const getCard = num => cards.find(n => n.id === num);
    // ...
    const card = getCard(cardRandom(1, 51));

    Правда, не очень понятно, зачем такие сложности. Кроме того, непонятно, гарантируется ли существование объекта с указанным id. Может, лучше использовать случайное число как индекс? Типа так:

    const card = cards[Math.random() * cards.length | 0];
    Ответ написан
    Комментировать
  • Почему не срабатывает click?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    У меня не работает элементарная функция((
    Потому что вы обработчик к коллекции элементов пытаетесь привязать, а это не поддерживается.

    и так тоже
    Неправда.
    Ответ написан
    1 комментарий
  • Как проверить, что знаешь на базовом уровне JavaScript?

    @JSmitty
    Хотите задачку? Ловите.

    Сделать на JS светофор основной (3 цвета) и связанный пешеходный (2 цвета) с кнопкой по запросу пешеходного перехода:
    1) основной включен на зеленый, пешеходный на красный
    2) по нажатию на запрос, через не менее чем 5 секунд на 5 секунд показывается желтый на основном, затем основной - красный, пешеходный зеленый на 15 секунд. После пешеходный на красный, основной сразу на зеленый.
    3) минимальное время зеленого на основном - 60 секунд. Если кнопка запроса перехода нажата ранее 60 секунд с момента включения зеленого - пункт 2 срабатывает через 60 секунд с момента включения зеленого.
    4) после нажатия запроса и до включения зеленого на основном светофоре, кнопка запроса игнорируется.

    Часть задачи - сделать отображение светофоров, и кнопку. Кнопка всегда доступна к нажатию (не ставим атрибут disabled). Другая часть - реализовать асинхронную логику. По возможности на чистом JS (не прибегая к библиотекам).
    Ответ написан
    7 комментариев
  • Правильно ли так оформлять роутинг?

    Anubis
    @Anubis
    Люблю корейскую кухню и веб-разработку
    Я предпочитаю хранить экземпляр express/koa приложения, экземпляр роутера и роуты в разных файлах.
    • router.js
      import Router from 'koa-router';
      
      export const router = new Router();


    • routes/index.js
      import './example';
      import './another-route';
      import './one-more-route';


    • routes/example.js
      import { router } from '../../router';
      
      router.get('/example', (ctx) => {
          ctx.body = { yo: 'Yo dude' };
      });
      
      router.post('/example', (ctx) => {
          ctx.body = { wow: 'Some POST request goes here' };
      });


    • app.js
      import Koa from 'koa';
      
      import { router } from './router';
      import './routes';
      
      const app = new Koa();
      // body parser etc
      // app.use(someMiddleware());
      // app.use(moreMiddleware());
      app.use(router.routes(), router.allowedMethods());
      
      app.listen(8000);


    Ответ написан
    Комментировать
  • Как сделать чтобы номер был под заголовком?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    каждый раз когда слышу "z-index не работает " причина или в непонимании как он работает или в недосмотре (где-то более приоритетный селектор и на нем неожиданный z-index)
    В Вашем случае первое, но вы почему-то вместо того что бы разобраться, решили что он не работает. Он всегда работает:
    https://codepen.io/wokster/pen/MBgmWw

    ради интереса, а "Георграфия наших заключений" это "где мы сидели"?
    Ответ написан
    Комментировать
  • Как это сверстать?

    @McBernar
    Самое лучшее решение — отобрать у дизайнера компьютер.
    Это я вам как дизайнер говорю.

    Кажется, что <pre> будет самым простым вариантом.
    Ответ написан
    2 комментария
  • Как можно раздавать музыку с сайта без возможности сохранить её локально?

    @LiguidCool
    НИКАК
    Ответ написан
    Комментировать
  • Как удалить script src с помощью Pure JS?

    rockon404
    @rockon404
    Frontend Developer
    Бессмысленное занятие. Скрипт выполняется после загрузки страницы и его удаление не произведет никакого эффекта на результат выполнения.
    Ответ написан
    1 комментарий
  • Зачем нужен прототип в js?

    rockon404
    @rockon404
    Frontend Developer
    Срочно читайте это и это.
    А еще лучше любой современный учебник по JavaScript от корки до корки.
    Ответ написан
    2 комментария
  • Как сделать активацию функции при клике на элементы, имеющие один класс?

    rockon404
    @rockon404
    Frontend Developer
    var elements = document.getElementsByClassName('my-class');
    Array.prototype.forEach.call(elements, function(element) {
      emement.addEventListener('click', function(e) { /* ... */ });
    });


    var elements = document.getElementsByClassName('my-class');
    for (var i = 0; i < emements.length; i++) {
      elements[i].addEventListener('click', function(e) { /* ... */ });
    }


    ES6:
    const elements = document.getElementsByClassName('my-class');
    for (let element of elements) {
      emement.addEventListener('click', e => { /* ... */ });
    }
    Ответ написан
    2 комментария
  • Проверка на сlass?

    @tyzberd
    if ($("body").hasClass("home")) {
    //code
    } else {
    //code
    }


    if (!$("body").hasClass("home")) {
    //code
    }
    Ответ написан
    Комментировать
  • Есть смысл делать сайт каталог на vue?

    @kttotto
    пофиг на чем писать
    Я думаю Вы сами поймете, когда стоит перейти на реактивные фреймворки. Когда Ваш проект вырастет в размерах и поддержка jq кода станет дорогой, контролировать все растущую простыню кода станет сложно, потому что всунуть новую фичу проблематично и все будет на каких то подпорках и невидимых дублей кода.

    Вот тогда Вы зададитесь вопросом, а какие есть практики и технологии для ускорения разработки и упрощения внедрения новых фич? И вдруг окажется, что все эти vue, react и angular не просто так существуют и не от хорошей жизни появились. И каждый из них по своему пытается решать эти проблемы.

    Мы как раз с таким и столкнулись и сейчас проект потихоньку переводим на vue. Я не могу сказать, что он идеален. Действительно сложные вещи он делает простыми, например, где нужна реактивность, где на jq пришлось бы писать простыни кода, потеряться и потратить кучу времени на дебаг. Но простые вещи, где на jq можно обойтись тремя строками кода, он делает каким то лабиринтом из пропертей, которые надо передавать из компонента в компонент и еще прокидывать emit.

    В общем мое мнение, если Вам не нужна реактивность, пользуйтесь jq. Даже если нужно переиспользование компонентов, это можно почти адекватно сделать виджетами на jq. Но если проект будет расти и он собирается жить долго, то лучше сразу делать модульно, компонентами и с использованием какого то фронт фреймворка.
    Ответ написан
    Комментировать
  • Есть смысл делать сайт каталог на vue?

    1. Кривят мины при слове jquery только старые деды, потому что библиотека полезна и экономит много времени (особенно у новичков). Даже если эта библиотека будет объективно считаться полным дерьмом, какая вам разница если она решает ваши задачи?

    2. Раньше говорили, vue используют там, где jquery уже не хватает. Я не понимал что это значит, столкнувшись с некоторыми задачами я понял смысл этой фразы. В действительности, если вам нужно повесить пару обработчиков на кнопки, формы и тд, vue вам не нужен. Если вам, как и мне, нужно подгружать постоянно обновляемые данные, всю эту информацию выводить в разных блоках, на каждый из который вешаются свои обработчики, когда появляются какие-то динамичные элементы в приложении и вы видите что в своем js-коде вы уже ничерта не можете разобраться, потому что вы пытались каждый модуль писать в отдельном файле и совмещать их вы уже не можете, вы открываете для себя vue-компоненты, за которыми легко следить и связывать между собой.

    Сайт, что вы кинули - обычный лендос, прям обычный на все 167%. Для чего вам париться лепить компоненты в vue, если вам нужно написать 10 строк js кода? Конечно нет смысл использовать.

    В качестве примера, для чего vue подошел бы, могу сказать то, что приходилось делать мне: есть проект с криптовалютой, который выводит кучу графиков по валюте, по каждому графику можно выбирать временной интервал и получать какие-то результирующие данные по этим интервалам. Для каждого блока начинка и обработчики разные (vue-компоненты), все это хранится в одном файле, отвечающий за каждый компонент. Помимо этих блоков есть некоторый объем периодично подгружаемой информации, которая тоже имеет вид графиков, круговых диаграмм итд. Все это прекрасно работало и на голом js, но когда проект стал разрастаться - в коде было уже сложно разбираться и я пытался сам писать какой-то аналог компонентов vue, понял что горожу велосипеды, перелез на vue и все.
    Ответ написан
    Комментировать
  • Как рендерить react компонент с html?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Неправильный подход к разработке. Варианты, как это сделать правильно:
    1. Данные забираются Ajax запросом по API
    2. Если хотите отдавать данные со страницей, можно записать в любой тег в атрибут data-state или в тег скрипт, в ключ window.__data
    3. Можно написать node сервер с SSR и делать рендер на стороне сервера.
    Ответ написан
    Комментировать
  • Как сделать limit и offset в js?

    rockon404
    @rockon404
    Frontend Developer
    Выведет в консоль индексы всех страниц по size и limit:
    function getPageIndexes(size, limit) {
      var start = 0;
      while(true) {
        if (start >= size) break;
        var end = Math.min(size, start + limit);
        console.log(start, end);
        start += limit;
      }
    }

    Демо
    Ответ написан
    1 комментарий
  • Как сделать простой скрипт оповещений на яваскрипте?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    if (localStorage.foo !== 'bar') {
        localStorage.foo = 'bar';
        alert('оповещение');
    }
    Ответ написан
    2 комментария