• Как сравнить 2 списка по data и по клику при совпадении удалять li которые совпадают?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    По клику получать элемент, его значение, его родительский список.
    Определить второй список. В нём найти элемент с таким же значением:

    Ответ написан
    Комментировать
  • Как считать слайды по одному при том что в slick стоит slidesToScroll: 4?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    Округления вверх нужны для нечётных комбинаций
    Ответ написан
    1 комментарий
  • Почему много людей в IT недовольны своей работы?

    DevMan
    @DevMan
    ноют только те, кто не состоялись в этой сфере.
    кто состоялся, не только не ноют, а толкают свою родню туда.
    Ответ написан
    Комментировать
  • Как решить проблему с слайдером slick при подгрузке через ajax?

    iiiBird
    @iiiBird Куратор тега HTML
    Пока ты спишь - твой конкурент совершенствуется
    нету в slick функции reinit.
    есть функция:
    // Manually refresh positioning of slick
    $('.your-element').slick('setPosition');
    Ответ написан
    2 комментария
  • Что должен знать middle PHP разработчик?

    @D_Mitrich
    ...работаю по принципу "если надо - разберусь"...иметь представление - да, досконально исследовать каждый пункт - зачем?
    Ответ написан
    Комментировать
  • Как реализовать посты таким образом?

    Stalker_RED
    @Stalker_RED
    $data = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 16];
    $chunkLength = 3;
    $result = [];
    
    while(count($data)) {
    	$result[] = array_splice($data, 0, $chunkLength);
    	$chunkLength = $chunkLength === 3 ? 2 : 3;
    }

    ideone.com/zp0BQl
    Ответ написан
    2 комментария
  • Где брать заказы на сайты?

    tin-iven
    @tin-iven
    Фрилансер до костей
    Комментировать
  • Как Laravel ускоряет создание сайта?

    @LiguidCool
    Просто Laravel говно (шутка(нет)).
    Если делать лендинг или простой интернет магазин, то конечно да - это работа с микроскопом по гвоздям. Хотя думаю человек знакомый со фреймворком сделает все-равно быстрее.
    А вообще фреймворк:
    1. Ускоряет работу с крупными проектами, на которых какой-нить WP просто ляжет
    2. Упрощает работу в команде, когда каждый занят отдельным модулем.
    3. Имеет документацию, +- общую для всех сайтов на этом фреймворке. Никто после вас не будет разбираться в вашем самопале
    4. / ----- / тоже для структуры кода в целом
    Ответ написан
    1 комментарий
  • Как Laravel ускоряет создание сайта?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Как Laravel ускоряет создание сайта?
    Тут вместо Laravel может быть любой php framework. Но главный вопрос ускоряет по отношении к чему? И в рамках какого проекта?

    Быстрее ли разработка стандартного блога на php framework чем на готовой CMS? НЕТ
    Быстрее ли разработка блога с нестандартными возможностями на php framework чем на готовой CMS? ДА

    Быстрее ли написать простой сайт на голом php c нуля, чем на php framework? ДА
    Быстрее ли написать сложный сайт на голом php c нуля, чем на php framework? НЕТ

    Смогу ли я заработать много денег и работать с интересными проектами, работая только с WP? НЕТ
    Будут ли меня брать на работу в серьезные компании без знания frameworks? НЕТ
    Востребован ли WP среди провинциальных web студий? ОЧЕНЬ
    Смогу ли я в них развиваться и получать достаточно денег? НЕТ
    Ответ написан
    1 комментарий
  • В чем суть роутера на php?

    onqu
    @onqu
    weasy
    1. Здесь пугают всякими контроллерами, ларавелями. Давайте жить проще. Для начала дадим определение модному слову роутер. Это маршрутизатор. Что делает маршрутизатор? Правильно. Обрабатывает маршруты, являясь связующим звеном. Маршрутом для web сайта принято считать метод запроса [GET, POST, PUT и другие] и компоненты URI.

    например: https://ru.wikipedia.org/wiki/URI?foo=bar#title
    [схема: https] :// [источник: ru.wikipedia.org] [путь: /wiki/URI] [запрос: ?foo=bar] [фрагмент: #title]


    Но для определения маршрута может браться любая другая информация передаваемая серверу, определение выше это лишь наиболее употребляемые параметры.

    Сама работа, как правило проста: от клиента приходит запрос, маршрутизатор перебирает все заданные ему пути до первого совпадения. При совпадении вызывается определенная вами функция, которая возвращает ответ клиенту.

    2. Он необходим, если в приложении одна точка входа, когда любой запрос приходит на один файл.

    3. Простой пример
    // файл index.php
    
    // Маршруты
    // [маршрут => функция которая будет вызвана]
    $routes = [
        // срабатывает при вызове корня или /index.php
        '/' => 'hello',
        // срабатывает при вызове /about или /index.php/about
        '/about' => 'about',
        // динамические страницы
        '/page' => 'page'
    ];
    
    // возвращает путь запроса
    // вырезает index.php из пути
    function getRequestPath() {
        $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    
        return '/' . ltrim(str_replace('index.php', '', $path), '/');
    }
    
    // наш роутер, в который передаются маршруты и запрашиваемый путь
    // возвращает функцию если маршшрут совпал с путем
    // иначе возвращает функцию notFound
    function getMethod(array $routes, $path) {
        // перебор всех маршрутов
        foreach ($routes as $route => $method) {
            // если маршрут сопадает с путем, возвращаем функцию
            if ($path === $route) {
                return $method;
            }
        }
    
        return 'notFound';
    }
    
    // функция для корня
    function hello() {
        return 'Hello, world!';
    }
    
    // функция для страницы "/about"
    function about() {
        return 'About us.';
    }
    
    // чуть более сложный пример
    // функция отобразит страницу только если
    // в запросе приходит id и этот id равен
    // 33 или 54
    // [/page?id=33]
    function page() {
    
        $pages = [
            33 => 'Сага о хомячках',
            54 => 'Мыши в тумане'
        ];
    
        if (isset($_GET['id']) && isset($pages[$_GET['id']])) {
            return $pages[$_GET['id']];
        }
    
        return notFound();
    }
    
    // метод, который отдает заголовок и содержание для маршрутов,
    // которые не существуют
    function notFound() {
        header("HTTP/1.0 404 Not Found");
    
        return 'Нет такой страницы';
    }
    
    
    // Роутер
    // получаем путь запроса
    $path = getRequestPath();
    // получаем функцию обработчик
    $method = getMethod($routes, $path);
    // отдаем данные клиенту
    echo $method();


    На практике используют более сложные маршрутизаторы, у которых гораздо большие возможности.

    4. Обойтись без него можно. Если каждая страница в вашем приложении будет являться отдельным файлом, который отвечает за отдачу информации.
    index.php
    about.php
    contact.php
    ...


    Это олдскульная структура, в новых проектах почти не применяется.
    Ответ написан
    13 комментариев
  • Как выгодно себя продать на рынке труда?

    DevMan
    @DevMan
    да нет таких советов и быть не может: каждый человек индивидуален и как человек, и как специалист. и работодатели тоже все не как под копирку.
    кто–то слишком наглый, кто–то слишком робкий. и каждый сам находит свой баланс между этими качествами.
    можно без устали штудировать материалы "как пройти собеседование по ...", но как только собеседование пойдет иначе (а оно обязательно пойдет), все вылетит в трубу.

    невозможно научиться ходить не падая. ходите по собеседованиям, получайте отказы (негативный опыт не перестает быть опытом), получайте оферы, работайте, увольняйтесь и переходите на новое место. из этого и формируется личный опыт.

    грамотные люди не охотятся за конкретными знаниями, они охотятся за мозгами в целом и адекватностью в частности. ваше дело – продемонстрировать обладание этими качествами.
    Ответ написан
    Комментировать
  • Почему the_field acf работает именно так?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Потому что плагин (ACF) пытается максимально угадать, что же вы имели в виду. Посмотрите код функции acf_get_valid_post_id( $post_id ) в файле acf/includes/api/api-helpers.php. Именно эта функция вызывается в начале get_field() (которая, в свою очередь, вызывается в the_field()).
    Ответ написан
    Комментировать
  • Вывести пост по id WordPress?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    Добрый!

    <?php
    $post = get_post(6);
    setup_postdata($post);
    the_content();
    wp_reset_postdata();
    ?>
    Ответ написан
    2 комментария
  • Как скачать шрифты с сайта?

    @glenean
    Откройте Developer console, переключитесь на вкадку network (для firefox ctrl+shif+Q), перзагрузите страницу ctrl+r.
    Найдите файл Вашего шрифта.
    Ответ написан
    3 комментария
  • Как зарабатывать 1000$ на фрилансе верстальщику?

    HunteR-VRX
    @HunteR-VRX
    Помешанный на развитии
    Делайте свой проект, реализуйте в нем себя и для себя.
    За 3 года вы не поняли, что подход - делаю хорошо кому-то, реализуя его мечты, не приносит вам желанные суммы?
    Ответ написан
    1 комментарий
  • Как изменить слайдер Slider Syncing?

    0xD34F
    @0xD34F
    Отключаем встроенную синхронизацию у миниатюр, и реализуем её вручную - только по клику на слайды:

    $('.slider-nav')
      .slick({
        slidesToShow: 5,
        slidesToScroll: 1,
        dots: true,
        centerMode: true,
        focusOnSelect: true,
        variableWidth: true,
      })
      .on('click', '.slick-slide', function() {
        $('.slider-for').slick('slickGoTo', this.dataset.index);
      })
      .find('.item-nav')
      .attr('data-index', i => i);

    Похоже на то, что вам надо?
    Ответ написан
    1 комментарий
  • Слайдер где, например, пол на месте а стулья меняются?

    profesor08
    @profesor08
    Возьми любой слайдер и задай ему фон картинкой, а слайды стулья.
    Ответ написан
    Комментировать
  • Как в slick сделать индикатор полосу вместо пагинации?

    0xD34F
    @0xD34F
    "Полоса" будет состоять из двух div'ов, вложенных один в другой. Цвет фона разный, у второго анимируется изменение ширины:

    <div class="nav">
      <div class="nav-inner"></div>
    </div>

    .nav {
      height: 20px;
      background: #ddd;
    }
    .nav-inner {
      height: 100%;
      background: red;
      transition: width 0.5s;
    }

    Метод обновления "полосы" - принимает номер слайда, устанавливает ширину внутреннего div'а:

    const updateNav = slide => $navInner.width(`${(slide + 1) / slidesCount * 100}%`);

    Этот метод используется при инициализации слайдера и изменении слайда:

    $slick.on({
      init: (e, slick) => updateNav(slick.currentSlide),
      beforeChange: (e, slick, currSlide, nextSlide) => updateNav(nextSlide),
    })

    Клик по "полосе" - из отношения положения курсора и ширины "полосы" вычисляется индекс слайда, к которому надо перейти:

    $nav.on('click', function(e) {
      $slick.slick('slickGoTo', e.offsetX / $nav.width() * slidesCount | 0);
    });

    https://jsfiddle.net/u7s2r3p4/2/

    UPD. Вынесено из комментариев:

    как сделать так, чтобы width полосы высчитывался в зависимости от slidesToShow

    Вычитайте лишнее, при расчётах ширины и номера слайда, к которому надо перейти, slidesCount надо заменить на slidesCount - slidesToShow + 1.
    Ответ написан
    2 комментария
  • Как в slick сделать индикатор полосу вместо пагинации?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    использовать dots для пагинации и стилизовать их, что бы они формировали линию.
    или реализовать свою верстку полости и закрашивать цепляясь за события, например afterChange
    Ответ написан
    2 комментария