Задать вопрос
  • Почему не работает анимация при маленьком окне?

    У меня в песочнице все отлично работает, надпись PROSCHE анимирована и всегда по центру на всех разрешениях
    Ответ написан
    Комментировать
  • Сайт выполнил переадресацию слишком много раз. wordpress?

    У вас в .htaccess есть правило для принудительного перехода на HTTPS
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


    Это правило должно быть в начале файла,
    если на сайте редирект с HTTP на HTTPS, это может вызывать цикличность
    Ответ написан
    1 комментарий
  • Как написать скрипт(или формулу) для выполнения переноса строки на другой лист, при определённых условиях?

    Это же JS. Нужно получить данные с листа, перебрать строки, если галочка установлена, то переносим строку в другой лист и удаляем из первого.
    Не обещаю, что оптимально, но в целом не очень сложны алгоритм:

    function mvTsks() {
      var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Лист1');
      var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Лист2');
      
      var data = sheet1.getDataRange().getValues(); 
      
    
      for (var i = data.length - 1; i >= 0; i--) {
        if (data[i][1] === true) {
          sheet2.appendRow(data[i]);
          
          sheet1.deleteRow(i + 1);
        }
      }
    }
    Ответ написан
  • Как сделать загрузочный экран, чтобы он был виден всем кто онлайн?

    Используй серверное хранилище. Сохраняешь стартовое время загрузки в него, при подключении игрок получает это время с сервера.
    Подойдут для реализации Firebase или PlayFab.
    Ответ написан
    Комментировать
  • Что не так я сделал с сайтом?

    Директ сам по себе не влияет напрямую на SEO-рейтинги сайта в органическом поиске.
    После остановки рекламной кампании сайт может временно опуститься, потому что трафик стал менее стабильным. Время основной фактор,а так же внешние ссылки.
    Ответ написан
    Комментировать
  • E.target видит лишь малую область блока?

    Клик может происходить на вложенные элементы внутри .accordion__item-title, и эти вложенные элементы становятся e.target.
    Попробуй использовать метод closest(), который проверяет родительские элементы вплоть до указанного селектора.

    accordion.addEventListener('click', function (e) {
        let target = e.target.closest('.accordion__item-title');
        if (target) {
            console.log('click');
            const content = target.nextElementSibling; 
            if (content.style.display === 'none') {
                content.style.display = 'block';
            } else {
                content.style.display = 'none';
            }
        }
    });
    Ответ написан
    Комментировать
  • Fetch дает ошибку?

    Однозначно ответить сложно, потому что по сути fetch Не смог завершить процесс, а причин может быть несколько.
    Если ты не контролируешь сервер, то можно попробовать прокси:

    const url = 'https://cors-anywhere.herokuapp.com/http://www.jsonkeeper.com/b/MU1J';
    Ответ написан
    Комментировать
  • Где можно увидеть реализацию такого эффекта при скролле?

    Пару лет назад видел подобную идею, но с прорисовкой подписи человека по скроллу, выглядело достаточно свежо и я тогда пытался разобраться с реализацией. Прямо сходу не вспомню всех нюансов, но тебе точно нужна динамическая прорисовка SVG.
    Изучи свойства stroke-dasharray и stroke-dashoffset.
    Сначала через svg отрисовываешь нужные линии, а уже JS прорисовывает их в зависимости от процента скролла:
    const progress = Math.min(scrollPosition / (documentHeight - windowHeight), 1);
          line.style.strokeDashoffset = totalLength * (1 - progress);
        };
    Ответ написан
    Комментировать
  • Как изменить скрипт бота что-бы Zabbix мог присылать уведомления, а не только тест?

    Скрипт вызывает функцию send_message('') с пустой строкой, что явно не то, чего ты хочешь. Zabbix при вызове скрипта передаёт параметры через аргументы командной строки (sys.argv). Это нужно правильно обработать.

    if len(sys.argv) > 1:
        message = " ".join(sys.argv[1:])
    else:
        message = "nekitosikpendosik"


    Запринтуй или залогируйвывод, чтобы видеть аргумент
    Ответ написан
    Комментировать
  • Зачем login повторяется в phpmyadmin?

    У тебя отсутствует уникальное ограничение для этого поля.
    Есть запрос на установку такого ограничения:
    ALTER TABLE users ADD UNIQUE (login);

    Так же, чтобы удалить имеющиеся сейчас дубли:
    DELETE FROM users
    WHERE id NOT IN (
        SELECT MIN(id)
        FROM users
        GROUP BY login
    );


    В обработке регистрации должна проверка на наличие существующего логина в базе данных перед добавлением
    Ответ написан
    4 комментария
  • Как решить проблему с выводом PHP из MSSQL?

    MSSQL ограничивает длину возвращаемых данных, поэтому тебе нужно изначально увеличить размер буфера данных:
    ini_set('mssql.textlimit', '2147483647');
    ini_set('mssql.textsize', '2147483647');
    $tt = mssql_fetch_assoc(mssql_query($str));
    Ответ написан
    Комментировать
  • Как сверстать данный блок?

    <div class="card">
      <img src="здесь ссылка на твое изображение" alt="Male" class="image" />
      <button class="button">
        Male
        <div class="circle">
          <span class="arrow">&gt;</span>
        </div>
      </button>
    </div>


    .button {
      position: absolute;
      bottom: 30px; 
      left: 50%;
      transform: translateX(-50%);
      width: 300px; /
      height: 60px; 
      background-color: #ff6f61;
      color: white;
      border: none;
      border-radius: 30px; 
      font-size: 16px; 
      font-weight: bold; 
      cursor: pointer; 
      display: flex; 
      justify-content: space-between; 
      align-items: center; 
      padding: 0 20px; 
    }
    
    .button:hover {
      background-color: #e65a4f; 
    }
    
    .button .circle {
      width: 40px; 
      height: 40px; 
      background-color: white;
      border-radius: 50%; 
      display: flex; 
      justify-content: center; 
      align-items: center;
    }
    
    .button .circle .arrow {
      color: #ff6f61;
      font-size: 18px; 
      font-weight: bold; 
    }


    Поменяй значения в стилях на нужные, должно работать
    Ответ написан
  • Почему ОС не запускается на Virtual box, а на QEMU запускаеться?

    В разделе Система > Материнская плата отключите опцию Floppy
    Убедитесь, что опция Intel VT-x или AMD-V включена в BIOS/UEFI
    Убедитесь, что вы правильно обрабатываете таблицы прерываний и дескрипторов
    Ответ написан
  • Почему слайдер на базе Swiper с видео YouTube в iframe не двигается при свайпе?

    iframe {
      pointer-events: none;
    }
    Ответ написан
    Комментировать
  • Как сгруппировать значения массива?

    const array = ['part1-item1', 'part1-item2', 'part2-item1', 'part3-item1'];
    
    const result = array.reduce((acc, rec) => {
      const [devId, paramId] = rec.split('-');
      if (!acc[devId]) {
        acc[devId] = [paramId]; 
      } else {
        acc[devId].push(paramId); 
      }
      return acc;
    }, {});
    console.log(result);
    Ответ написан
    Комментировать
  • Как сделать пагинацию на js для нескольких независимых секций на странице?

    Здравствуйте. Здесь нужно бы обрабатывать каждую секцию отдельно, используя отдельный массив элементов для каждой, а потом генерировать независимые контролы пагинации для каждой секции.

    <div class="wrap_item" data-section="1">
      <h3 class="title_heading">Секция №1</h3>
      <div class="wrap_elements">
        <div class="class_element">Элемент 1</div>
        <div class="class_element">Элемент 2</div>
        <div class="class_element">Элемент 3</div>
        <div class="class_element">Элемент 4</div>
        <div class="class_element">Элемент 5</div>
      </div>
      <div class="pagination"></div>
    </div>
    
    <div class="wrap_item" data-section="2">
      <h3 class="title_heading">Секция №2</h3>
      <div class="wrap_elements">
        <div class="class_element">Элемент A</div>
        <div class="class_element">Элемент B</div>
        <div class="class_element">Элемент C</div>
        <div class="class_element">Элемент D</div>
        <div class="class_element">Элемент E</div>
      </div>
      <div class="pagination"></div>
    </div>
    
    <div class="wrap_item" data-section="3">
      <h3 class="title_heading">Секция №3</h3>
      <div class="wrap_elements">
        <div class="class_element">Элемент α</div>
        <div class="class_element">Элемент β</div>
        <div class="class_element">Элемент γ</div>
        <div class="class_element">Элемент δ</div>
        <div class="class_element">Элемент ε</div>
      </div>
      <div class="pagination"></div>
    </div>


    document.addEventListener('DOMContentLoaded', () => {
    
        const itemsPerPage = 2;
    
        document.querySelectorAll('.wrap_item').forEach((section) => {
          const wrapElements = section.querySelector('.wrap_elements');
          const elements = Array.from(wrapElements.children);
          const paginationContainer = section.querySelector('.pagination');
          const totalPages = Math.ceil(elements.length / itemsPerPage);
    
          function showPage(page) {
            elements.forEach((el, index) => {
              el.style.display =
                index >= (page - 1) * itemsPerPage && index < page * itemsPerPage
                  ? ''
                  : 'none';
            });
          }
    
          function createPagination() {
            paginationContainer.innerHTML = ''; // очистили контейнер пагинации
            for (let i = 1; i <= totalPages; i++) {
              const button = document.createElement('button');
              button.textContent = i;
              button.addEventListener('click', () => {
                showPage(i);
                updateActiveButton(i);
              });
              paginationContainer.appendChild(button);
            }
            updateActiveButton(1); 
          }
    
          function updateActiveButton(activePage) {
            paginationContainer.querySelectorAll('button').forEach((btn, index) => {
              btn.classList.toggle('active', index + 1 === activePage);
            });
          }
    
          showPage(1);
          createPagination();
        });
      });


    .wrap_elements {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
      }
    
      .class_element {
        padding: 10px;
        border: 1px solid #ccc;
        background: #f5f5f5;
      }
    
      .pagination button {
        margin: 0 5px;
        padding: 5px 10px;
        border: none;
        background: #ddd;
        cursor: pointer;
      }
    
      .pagination button.active {
        background: #ff6f61;
        color: #fff;
      }


    Теперь имеем что? Каждый .wrap_item обрабатывается отдельно, кайф. Все дочерние элементы .class_element собираются в массив, ну красота. Style.display для скрытия/показа элементов в зависимости от текущей страницы.
    Количество кнопок определяется totalPages.
    При клике на кнопку отображаются элементы, соответствующие выбранной странице. Вроде ничего не упустил.
    Ответ написан
    1 комментарий
  • Как исправить скрипт tampermonkey, чтобы при открытии новой вкладки собирать данные?

    function visitLinksSequentially(links) {
        let index = 0;
    
        function waitForPageLoad(newTab, callback) {
            // ждем полную загрузку
            newTab.addEventListener('load', function onLoad() {
                newTab.removeEventListener('load', onLoad); 
                callback(); 
            });
        }
    
        function extractData(newTab, callback) {
            // логика для извлечения данных
            const extractedData = newTab.document.querySelectorAll('SELECTOR_YOUR_DATA'); 
            console.log('Извлечённые данные:', extractedData); 
            callback(); 
        }
    
        function visitNextLink() {
            if (index < links.length) {
                const link = links[index];
                index++;
                const newTab = window.open(); // открыли новую вкладку
    
                newTab.location.href = link;
    
                waitForPageLoad(newTab, () => {
                    setTimeout(() => {
                        extractData(newTab, () => {
                            newTab.close(); // закрыли
                            visitNextLink(); // пошли дальше
                        });
                    }, 1000); 
                });
            } else {
                console.log('Good job bro!');
            }
        }
    
        visitNextLink();
    }
    Ответ написан
    Комментировать
  • Как приложение Android знает, в первый раз установили или нет?

    Как обойти защиту на Android?
    Сбросить идентификаторы.
    Восстанавливаем девайс до заводских настроек (сбросит Android ID). Либо же сменить ID, если есть root-права.

    А вот с принципом действия не все так просто, их может быть много, например, работа с серверной базой данных. Приложение может отправлять на сервер:
    • Android ID и GUID
    • Временные метки
    • Привязку к учетной записи пользователя

    На сервере выполняется проверка и вы пойманы.
    Ответ написан
  • Почему matlab перекидывает знаки в функции tf?

    Ох и сложный вопрос вы задаете. Смотрите, матлаб автоматически меняет знаки в передаточной функции, чтобы привести знаменатель и числитель к стандартной форме. Если вы хотите сохранить знаки такими, какие они есть, к сожалению, матлаб напрямую не позволяет это в функции tf. Но можно посидеть и подумать над тем, чтобы сохранить исходные знаки, используя ручной вывод.
    Можно (нужно) использовать метод zpk.

    a = [2160 1140 130 70];
    b = [-105 -107 0 2];
    
    W = zpk([], [], a) / zpk([], [], b);
    disp(W);
    Ответ написан
    2 комментария
  • Эффективно ли будет изучать программирование .Net через программу обучения на сайте MS?

    • "C# 10 in a Nutshell" (Joseph Albahari)
    • "CLR via C#" (Jeffrey Richter)
    • Канал Tim Corey на ютубе: отличное объяснение от простого к сложному


    Самое важное — писать код каждый день и постепенно усложнять проекты.
    Ответ написан