Контакты

Достижения

Все достижения (12)

Наибольший вклад в теги

Все теги (42)

Лучшие ответы пользователя

Все ответы (54)
  • Объясните поведение MySQL, связанное с ORDER BY и LIMIT

    Finesse
    @Finesse
    Одно из основных положений теории баз данных гласит, что если не задана сортировка, то данные могут выдаваться в абсолютно любом порядке. У вас сортировка идёт по полю, для которого значение всех записей совпадает, и данные не сортируются.

    Чтобы этого избежать, добавьте ещё одну сортировку по первичному ключу или любому другому полю с уникальными значениями, например (не знаю названия ключевого поля в вашей таблице, замените `id` на него):
    SELECT * 
    FROM  `products`
    ORDER BY `position` DESC, `id` ASC
    LIMIT 800 , 38
    Ответ написан
    Комментировать
  • Чтобы загрузить через php картинку в папку, у папки обязательно должно быть 777 права?

    Finesse
    @Finesse
    Достаточно прав на запись пользователю, от имени которого работает веб-сервер.
    Ответ написан
    Комментировать
  • Как добавить/удалить link в head? И возможно ли это вообще?

    Finesse
    @Finesse
    // Добавление link
    $link = $('<link/>', {
      rel: 'stylesheet',
      href: 'путь...'
    }).appendTo('head');
    
    // Немного позже удаление ранее созданного link
    $link.remove();


    Но лучше так не делать, потому что изменение стилей произойдёт с заметной задержкой, вызванной тем, что новый файл стилей нужно сначала загрузить и обработать. Лучше всего изменять класс тега body, а новое оформление задавать в том же файле стилей, но добавив к селекторам body.новыйКласс:

    <html>
      <head>
        <script src="js/jquery.js"></script>
        <style>
          .content { color: black; } /* Обычное оформление */
          body.otherStyle .content { color: red; } /* Новое оформление */
        </style>
      </head>
      <body>
        <div class="content">Lorem ipsum</div>
        <button id="button">Поменять всё</button>
        <script>
          $('#button').click(function(event) {
            // Нажатие кнопки будет добавлять класс, если его нет, и удалять его, если есть, тем самым включая/выключая другое оформление
            $('body').toggleClass('otherStyle');
            event.preventDefault();
          });
        </script>
      </body>
    </html>
    Ответ написан
    3 комментария
  • Как верстать вылезая за границы блока?

    Finesse
    @Finesse
    Способ 1: абсолютное позиционирование

    <div class="block">
        <img class="image">
    </div>

    .block {
        position: relative;
        overflow: visible;
    }
    .block .image {
        position: absolute;
        top: -100px;
        right: 200px;
    }


    Способ 2: отрицательные отступы

    <div class="block">
        <img class="image">
    </div>

    .block {
        overflow: visible;
    }
    .block .image {
        display: inline-block;
        margin-top: -100px;
        margin-bottom: -100px;
    }


    В обоих способах адаптивность можно сделать с помощью @media-правил. Например:

    .block .image {
        position: absolute;
        width: 300px;
        top: -100px;
        right: 200px;
    }
    @media (max-width: 800px) {
        .block .image {
            width: 200px;
            top: -50px;
            right: 50px;
        }
    }
    Ответ написан
    5 комментариев
  • Как осуществить такую анимацию?

    Finesse
    @Finesse
    Через <canvas>. Программирование производится с помощью JavaScript. Схема примерно такая:
    1. На то место, где должен быть эффект, помещается canvas, который занимает всю площадь места.
    2. В памяти генерируется набор случайных точек со своим вектором скорости.
    3. В каждом кадре анимации точки сдвигаются в соответствии в вектором скорости.
    4. В каждом кадре анимации точки отрисовываются на canvas. Дополнительно проводятся линии между всеми парами точек, между которыми расстояние меньше определённого значения.

    Есть готовая библиотека для создания таких анимаций.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (22)