• Как сделать производственный календарь php?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Если первые два дня всегда рабочие то простейший вариант добавить отдельный счётчик

    <?php
    $number = cal_days_in_month(CAL_GREGORIAN, 7, 2022); 
    $start = 15;
    $days_counter = 0;
    $rabota = [];
    for ($i = $start; $i <= $number; $i++) {
        $days_counter++;
    
        if($days_counter <= 2) { //1, 2
            $rabota[$i] = 'Рабочий';
        } elseif($days_counter <= 4) { //3, 4
            $rabota[$i] = 'Выходной';
        }
        
        if($days_counter >= 4) { //сбрасываем счётчик после 4 дня
            $days_counter = 0;
        }
    }
    
    print_r($rabota);
    Ответ написан
    1 комментарий
  • Как при наведении на элемент изменить стили его соседей?

    0xD34F
    @0xD34F Куратор тега CSS
    const wrapper = document.querySelector('.block');
    const blockSelector = '.block_one';
    const activeClass = 'active';
    
    wrapper.addEventListener('mouseover', onHover);
    wrapper.addEventListener('mouseout', onHover);
    
    function onHover({ type, target }) {
      const block = type === 'mouseover' && target.closest(blockSelector);
      this.querySelectorAll(blockSelector).forEach(n => {
        n.classList.toggle(activeClass, !!block && n !== block);
      });
    }

    UPD. Наконец-то дождались, теперь можно без js задачу решить:

    .block:has(.block_one:hover) .block_one:not(:hover) {
      /* сюда переносим стили того класса, который через js добавлялся */
    }
    Ответ написан
    Комментировать