• Как удалять присвоенный класс, при клике на любой элемент страницы?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Добавление евента на документ или боди нужно использовать только в крайних случаях, вешайте клик на конкретный класс, тогда закрытие можно повесить на боди.
    Ответ написан
    1 комментарий
  • Как удалять присвоенный класс, при клике на любой элемент страницы?

    @be_a_man
    Гуглите event.target

    UPD: Готовый вариант на JQuery
    Ответ написан
    Комментировать
  • Как выставить dpi в Photoshop?

    zergone
    @zergone
    дизайнер
    Эй-эй, чудо-мастера... Коротко (везде имею в виду исходный размер картинки, если делать сильное масштабирование картинки, получите мыло; чтобы менять размер картинки не меняя ее физически снимите галку "ресамплинг", тогда при изменении разрешения будет пропорционально меняться размер в мм, это позволит быстро сообразить, какой размер на печати позволит сохранить качество):
    47666c493b9843c98f5760232db92f6b.gif
    1) В стандартной полиграфии (офсет, цифровые машины) используют разрешение 300 dpi (обычно в диапазоне 400-225 dpi можно не заморачиваться и оставлять как есть (отличия для многих будут малозаметными), если конечно нет особых требований). Причем картинки типа "скриншот" (с очень резким контрастом пиксел) лучше оставить как есть, без какого-либо масштабирования (только 100%) -- потяните на 300 dpi или другое разрешение, будет отвратительное мыло (это касается линков в ИнДизе или Илле например).
    Кроме того советую при масштабирование в Фотошопе выбирать правильно режим пересчета (ресамплинга) -- там из названий пунктов меню понятно.
    2) Касательно широкой печати... При изготовлении больших плакатов ориентируйтесь примерно на объем пустого тифа в CMYK примерно 500 Мб -- обычно это дает хорошее качество картинки. Если плакат маленький (а ля 600х900 мм) -- размер в байтах может стать меньше (на широких принтерах редко пользуют больше 200 dpi). Если плакат очень большой -- десятки метров, то конечно файл может быть и 1-2 Гига, даже при 5-10 dpi.
    3) Нет железно заданных цифр разрешения картинок для печатных устройств. Есть близкие к оптимальным (например 600 dpi для обычного офсета не только утяжелят файл в 4 раза, но и скорее всего дадут более мыльную картинку после РИПа). Сомневаетесь -- звоните в печатную контору, спросите их дизайнера (часто это имеет смысл, поскольку техника и рабочий процесс везде разные).
    Ответ написан
    1 комментарий
  • Как подключать скрипты для страницы, которая грузится через ajax?

    leni_m
    @leni_m
    ЧупаКобрус
    такая запись не сработает, если элемент с id="el" пришел ajax'ом, т.к. при начальной загрузке такого элемента нету.
    $("$el").on('click', function(){
       ...
    })

    а вот такая сработает
    $("body").on('click', '#el', function(){
       ...
    })
    Ответ написан
    2 комментария
  • Как подключать скрипты для страницы, которая грузится через ajax?

    agmegadeth
    @agmegadeth
    Веб-разработчик в дизайн студии
    У тебя скрипты наверняка вызываются по document.ready событию. Это событие не происходит когда появляется новый контент на страницу после ajax запроса.
    Поэтому по колбэку аякса вызывай заново нужные тебе скрипты. Или напиши функцию типа initScipts() - в ней инициализируй нужные тебе скрипты. И вызывай эту функцию и по document.ready и по колбэку аякса.
    Ответ написан
    Комментировать
  • Как вы изучаете SEO и интернет-маркетинг?

    @Alexanderkrupnitsky
    начинающий разработчик
    Советую подписаться на всех публичных блогеров, которые вещают о seo и накапливать знания. Единого источника не существует. От себя могу посоветовать Михаила Шакина, Сергея Кокшарова, Яндекс конференции, подпишитесь на блог агентств. Также можно пройти курс по seo типа Нетологии за 50-100К руб., самый быстрый способ и единый источник)))

    Тру Seo'шники зарабатывают деньги и не сливают тему в паблик, поэтому если хочется профессионального роста, придется ездить на конференции, слушать 99% рекламы, но в кулуарах держать ушки на макушке)
    Ответ написан
    Комментировать
  • Как вы изучаете SEO и интернет-маркетинг?

    @sidni
    Php Developer
    Ну по сути их особо и нет)) везде могут только написать, что делайте хорошие тайтлы и один тег h1 на странице)))), иначе если сразу раскрыть все секреты, вы сразу тысячи людей и контор отправите на стройку за не надобностью)).
    А по сути почитайте эти книги
    www.sbup.com/seo-forum/poiskovaya_optimizaciya_v_o...
    Ответ написан
    Комментировать
  • Чем сделан эффект теней для объектов и есть ли подобные библиотеки?

    profesor08
    @profesor08 Куратор тега CSS
    Сделать на svg, rect (цветной квадратик) и path (будет выполнять роль тени). В зависимости от положения источника меняй координаты для path. Достаточно 4х координат, две возле квадрата, две за пределами контейнера.
    Ответ написан
    Комментировать
  • Что надо знать о дизайне иконок?

    Nekto_Habr
    @Nekto_Habr
    Чат дизайнеров: https://t.me/figma_life
    Много полезного я узнал из гугловского гайда:
    https://material.io/design/iconography/system-icon...
    (в инете наверняка найдется перевод)

    А рисовать в векторе я учился по урокам этого чувака:
    https://blog.spoongraphics.co.uk/category/tutorials

    Очень толковый чувак, мне пару уроков хватило и дальше я уже сам)

    Вообще, иконки это нечто среднее между дизайном и иллюстрацией. В маленьком рисунке нужно внятно передать некий смысл, да еще без слов - это дизайн. Но рисунок должен быть гармоничным и красивым, что ли, - тут могут понадобиться навыки иллюстратора. Занятие весёлое так то, ну и практика рулит. Можно брать чужие паки и перерисовывать их на свой манер, изучать и перенимать какие-то трюки рисования или идеи для иконок.
    Ответ написан
    Комментировать
  • Как удалить белую полоску справа в мобильной версии сайта?

    UnluckySerivelha
    @UnluckySerivelha
    Дело в этом свойстве:
    @media (max-width: 991px)
    .video-gradient-background {
        position: absolute;
        width: 120%;
        height: 70%;
        margin-left: -10%;
        background-color: #6f011c;
        margin-top: 6%;
    }

    Поменяйте ширину на 100% вместо 120
    Ответ написан
    2 комментария
  • Как подключать фал стилей в зависимости от типа устройств на котором открыт сайт?

    @ZENbZ
    Начинающий веб-разработчик, чуточку программист
    Mobile_Detect.php погугли

    <link rel="stylesheet" href="<?php ... ?>">

    $detect = new Mobile_Detect; // Инициализируем копию класса
     
    // Любое мобильное устройство (телефоны или планшеты).
    if ( $detect->isMobile() ) {
     echo "mobile.css"
    }
    // Планшетные компьютеры
    if( $detect->isTablet() ){
      echo "tablet.css" и тд
    }
     // Исключаем планшеты
    if( $detect->isMobile() && !$detect->isTablet() ){
     
    }
     // Выбираем специфические платформы
    if( $detect->isiOS() ){
     
    }
     if( $detect->isAndroidOS() ){
     
    }
    Ответ написан
    1 комментарий
  • Как вы начинаете вёрстку сайта?

    torrie
    @torrie
    Всё знаю, всё умею
    В первую очередь делаю сброс css-стилей.
    Затем делаю вёрстку общих блоков - просто структура из div'ов с нужными ширинами, высотами согласно макету, залитых разными цветами. Стараюсь все div'ы(когда что-то в строчку) делать inline-block'ами. Получается цветная такая структура будущего сайта. Каркас готов.
    NDrl9VkCyDvemP.jpg

    Начинаю углубляться в каждый блок - располагать в нём нужные элементы. В зависимости от сложности их расположения делаю какие-то блоки position:relative, но чаще всего всё упирается просто в отступы.
    Ответ написан
    3 комментария
  • Как при клике на потомка, не выполнять функцию родителя?

    nikolayshabalin
    @nikolayshabalin
    Автор профессиональных курсов в HTML Academy
    Приветствую.

    Изучите как работают события в DOM. Это очень полезно. Trust me. Они погружаются до элемента и потом всплывают. Вот хорошие примеры - learn.javascript.ru/event-bubbling

    Вкратце, когда вы кликаете на DOM-ноду,
    1. событие начинает свой путь от самого корневого элемента, от document,
    2. доходит до кликнутого элемента, запускает обработчики если они есть на этом элементе
    3. начинает всплывать, запуская обработчики на каждом элементе у которого есть обработчики на такой тип события, в данном примере click

    Всплытие можно остановить и это как раз то, что вам нужно

    <div class="parent">
        <div class="son">son</div>
        <div class="son1">son 1</div>
        <div class="son2">son 2</div>
    </div>


    $('.parent').on('click', function() {
        console.log('parent function');
    });
    
    $('.son').on('click', function(event) {
        event.stopPropagation();
        console.log('son function');
    });


    Что в данном случае происходит, событие опускается до $('.son'), запускает обработчик function(event) {...});, а event.stopPropagation(); запрещает событию click всплыть, то есть подняться до элемента $('.parent'), поэтому обработчики $('.parent') не запускаются.

    Ещё бы хотел посоветовать меньше лезть/смотреть в DOM. Говорят это очень ресурсоемкие задачи, так родился Virtual DOM.

    Что в вашем примере не так.

    Вы сначала лезете в DOM за $('.parent'), а потом за $('.son').
    Сохраняя $('.parent'), вы уже можете обратится к $('.son') без лазания в DOM.

    То есть ваш пример выгоднее бы выглядел вот так

    const $parent = $('.parent');
    const $son = $parent.find('.son');
    
    $parent.on('click', function() {
        console.log('parent function');
    });
    
    $son.on('click', function(event) {
        event.stopPropagation();
        console.log('son function');
    });


    Я понимаю, что в данном примере это вообще никак не отразится на производительности, но если ваше приложение чуть сложнее, чем этот пример, то профиты будут.
    Ответ написан
    1 комментарий
  • Как сделать, чтобы при нажатии на одну кнопку, поочередно выполнялись две разные функции?

    nuykon
    @nuykon
    Full Stack Developer
    jQuery 1.9 и выше
    <script>
    function toggleFunc(){
      let el = this;
      return [
        function() { 
          console.log('первый клик');
        },
        function() { 
          console.log('второй клик');
        }
      ][el.tog^=1]();
    }
    
    $("button").click( toggleFunc );
    </script>


    Для старой версии jQuery ниже 1.9
    <script>
        $("button").toggle(
          function () {
            console.log('первый клик');
          },
          function () {
            console.log('второй клик');
          },
          function () {
            console.log('можно и третий');
          },
        );
      </script>
    Ответ написан
    7 комментариев
  • Как задать последовательность выполнения функций в jquery?

    Sanovskiy
    @Sanovskiy
    Веб-разработчик с 2005 года
    Все уже есть в jQuery
    .queue()
    Ответ написан
    Комментировать
  • Как задать последовательность выполнения функций в jquery?

    twobomb
    @twobomb
    $(document).ready(function () {
        $(".btn").on("click", function () {
            $(this).find(".img-animation").css({
                    "width": "100%",
                    "height": "100%",
                });
                var _this = this;
            $(this).find(".text-description").fadeIn("slow",function(){
            $(_this).find(".img-description").fadeOut("slow");
            });
            
        });
        });
    Ответ написан
    Комментировать
  • Как задать последовательность выполнения функций в jquery?

    Ifelseapps
    @Ifelseapps
    Frontend developer/JavaScript developer
    Вы про fadeIn/fadeOut?
    В них можно передать callback, который выполнится, когда анимация завершится.
    См. доку. api.jquery.com/fadein

    fadeIn должна выполняться после анимации изменения width и height?
    У вас на изменение этих свойств прописан transition? Тогда Вам нужно ловить событие transitionend.
    Ответ написан
    2 комментария
  • Как работает this jquery?

    @igor9alive
    $(this) в данном примере содержит элемент, на котором произошел click. Т.е. непосредственно элемент.
    То есть, вот этой строкой "$(this).slideToggle(1000);" ты скрываешь элемент, по которому кликнули - $('.bg_sale span').
    Напиши вот так - $(this).find('b').slideToggle(1000);
    Таким образом в элементе this (кликнутый элемент) ты найдешь все теги b и применишь к ним метод slideToggle
    Если ничего не упустил, должно сработать
    Ответ написан
    1 комментарий
  • Как узнать, что люди ищут вместе с фразой "из Австралии" и в каком количестве?

    DeoZ
    @DeoZ Куратор тега Яндекс.Директ
    Веб-разработка и Реклама
    В wordstat можете воспользоваться конструкцией [+из Австралии] - она учтёт предлог "из" и порядок слов. Но не надейтесь на большое количество вариантов для такого узкого запроса.
    5a718fb9a651f200079882.jpeg
    Ответ написан
    Комментировать