Задать вопрос
  • Как сделать такой прямоугольник?

    snap44
    @snap44
    Фыр!
    Без всяких оберток и псевдо-элементов.
    Ответ написан
    Комментировать
  • Как узнать какой по счёту элемент в dom дереве имеет определённый класс?

    Exploding
    @Exploding
    wtf?
    И вдогонку может пригодиться:
    var index = $("div p.there").index();
    Ответ написан
    Комментировать
  • Как узнать какой по счёту элемент в dom дереве имеет определённый класс?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Определимся с элементом, у которого будем узнавать индекс - внутри кого он находится, что это за элемент, какой у него должен быть класс:

    const parentSelector = 'div';
    const childSelector = 'p';
    const className = 'there';
    
    const siblingsSelector = `${parentSelector} > ${childSelector}`;
    const elementSelector = `${siblingsSelector}.${className}`;

    Дальше есть варианты:

    const index = Array.prototype.findIndex.call(
      document.querySelectorAll(siblingsSelector),
      n => n.classList.contains(className)
    );

    или

    let index = -1;
    for (
      let el = document.querySelector(elementSelector);
      el;
      index++, el = el.previousElementSibling
    ) ;

    или

    const el = document.querySelector(elementSelector);
    const index = el ? [...el.parentNode.children].indexOf(el) : -1;

    Если вдруг у элемента могут быть другие соседи, не соответствующие childSelector, и они не должны учитываться, то третий вариант не подходит, а во втором надо заменить index++ на index += el.matches(childSelector).
    Ответ написан
    Комментировать
  • Почему не cрабатывает функция?

    KickeRocK
    @KickeRocK
    FrontFinish
    Вы в функцию download точно никакие параметры не хотите передать?
    success: function() {
                            download(param1,param2,param3);
                            $('form').trigger('reset');
                            send_modal_form();
                        },

    param1 - сам контент:
    массив Array из объектов ArrayBuffer, ArrayBufferView, Blob, DOMString, или смесь любых из подобных объектов, которая может быть размещена внутри Blob. DOMStrings представлены в кодировке UTF-8.

    param2 - имя нового файла
    param3 - Тип файла.
    type, with a default value of "", that represents the MIME type of the content of the array that will be put in the blob.

    Отсюда
    Ответ написан
    Комментировать
  • Можно ли так писать в js?

    Да, у вас будет локальная переменная функции с именем a и глобальная так же с именем a.
    Ответ написан
    Комментировать
  • Можно ли так писать в js?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Можно, это создаст две разные константы с одинаковым именем и разными областями видимости.

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

    RotgarSett
    @RotgarSett
    SEO Эксперт
    Вероятно он это делал еще до того как гугл с яндексом стали шифровать запросы. Однако можно вытаскивать запросы из API метрики и не совсем в реальном времени, но получать инфу о запросе. Связывать ее с конкретным пользователем можно давая каждому новому пользователю ID в и показывать его в урле, например site.ru/categoriya?id=2227837, отслеживая тем самым человека и запрос в метрике через API, связвая урл входа в котором указан ID и поисковую фразу которую видим в метике. Этот же ID пишется человеку в кукки. А с помощью сервиса соцтрекинга или сервисов бигдаты можно узнать почты некоторых людей и связать их также по ID с кукки. Или же, если на сайте, например можно оставить заявку введя почту, то еще проще узнать почту пользователя.

    В итоге получаем:
    1-присваиваем ID юзеру
    2-пишем ID в кукку
    3-пишем ID в url входа site.ru/categoriya?id=2227837
    4-через API метрики связываем ID в урле с поисковой фразой
    5-с помощью соц трекинга, биг даты или формы на сайте связываем ID и почту
    6-Получаем связку ID-поисковая фраза-почта
    7-настраиваем рассылку и отправляем письма

    Возможно есть готовые сервисы которые это делают.

    П.С.
    Судя по отзывам знакомых с форума, 70% того что они (бизнес молодость) рассказывают это выдумки или красивая теория не опробованная на практике. Но в целом описанная мной схема будет работать.
    Ответ написан
    9 комментариев
  • Как сделать смену картинки при клике?

    miraage
    @miraage
    Старый прогер
    Вот есть "готовое" решение. kenwheeler.github.io/slick

    Примените его, сами велосипед не пишите. Однако настоятельно рекомендую ознакомиться с исходным кодом, чтобы понимать, как подобные вещи пишутся.
    Ответ написан
    1 комментарий
  • Как отследить активный маркер на google map?

    Justique
    @Justique
    var marker = new google.maps.Marker({
    	position : latlng,
    	map	: map,
    	id : point.id //Тут идентификатор маркера
    });
    
    google.maps.event.addListener(marker, 'click', function() {
    	console.log(marker.id);
    	$('[data-id="'+marker.id+'"]').show(); //Показываем блок с информацией о этом маркере
    });
    Ответ написан
    1 комментарий
  • Как при клике по однотипным элементам делать их текстовое содержимое значением input'а?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Куда надо записывать текст, и откуда его брать:

    const input = document.querySelector('#textLink');
    const buttonSelector = '.link';

    Как достать текст, имея на руках элемент:

    const getText = el => el.innerText;
    // или
    const getText = el => el.textContent;
    // или (будет работать как надо, пока элемент остаётся ссылкой)
    const getText = el => el.text;
    // или (будет работать как надо, пока вложенные элементы не появятся)
    const getText = el => el.innerHTML;

    Делегирование, назначаем обработчик клика один раз:

    document.addEventListener('click', ({ target: t }) =>
      (t = t.closest(buttonSelector)) &&
      (input.value = getText(t))
    );

    Или, назначаем обработчик клика каждому элементу индивидуально:

    document.querySelectorAll(buttonSelector).forEach(function(n) {
      n.addEventListener('click', this);
    }, e => input.value = getText(e.currentTarget));
    Ответ написан
    Комментировать
  • Как сделать красивый скомпилированный сss код, после планига gulp-sass?

    reskwer
    @reskwer
    front-end developer
    Замените пайп на этот
    .pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError))


    или в ручную допишите в своем пайпе
    {outputStyle: 'expanded'}
    Ответ написан
    1 комментарий