Задать вопрос
  • Текст ссылки начинает мигать и не нажиматься при наведении?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Нашел вот это:
    #header-section .container, #hospitals, #hospitals .icon, #houzez-gmap-main, #houzez-listing-map, 
    #houzez-listing-map-vc, #houzez_ajax_container .map-notfound, #libraries, #libraries .icon, #listing-
    map, #pharmacies, #pharmacies .icon, #schools, #schools .icon, #section-body, #section-body.houzez-
    body-half .property-listing, #singlePropertyMap, #splash-section, #splash-section .splash-inner-content,
     #supermarkets, #supermarkets .icon, #transportation, #transportation .icon, .accord-block .accord-tab, 
    .account-action, .account-action .user-image, .account-dropdown>ul, .account-dropdown>ul>li, .actions 
    li, .add-title-tab, .add-title-tab .add-expand:before, .advanced-search, .advanced-search-mobile, 
    .advanced-search-mobile .advance-fields, .advanced-search-mobile .single-search, .agent-info-block 
    .agent-thumb, .agent-media .media-left, .agent-media .next-prev-block .media-right, .agents-block, 
    .auto-complete .media, .banner-module, .banner-module .owl-item, .banner-parallax, .banner-search-
    main .form-group .bootstrap-select.open, .banner-search-main .gform_wrapper li .bootstrap-select.open, 
    .banner-search-tabs .search-tab-inner, .banner-slider .banner-link, .banner-video, .board-header, .board-panel-menu, .board-panel-menu>li, .board-panel-menu>li a, .bypostauthor, .caption-bottom .detail-bottom, .class-energy, .class-energy-indicator, .comments-block .media-body .reply .fa, .compare-thumb-main .compare-thumb, .dashboard-content-area, .detail-bar .detail-content-tabber, .detail-media, 
    .detail-media #gallery, .detail-slider-nav-wrap .item, .detail-sub-title, .detail-top, .detail-top .tab-
    content, .detail-top.detail-top-full .container, .detail-top.detail-top-full .header-detail .actions, .detail-
    top.detail-top-full .label, .detail.detail-bottom, .figure-block, .file-upload-block, .footer .read .fa, .footer-
    widget.widget_search form div, .gallery-area, .gallery-area .gallery-inner, .gallery-item, .gallery-thumb, 
    .gallery-thumb img, .gform_wrapper .banner-search-main li .bootstrap-select.open, .gform_wrapper 
    .widget-calculate li, .gform_wrapper .widget-change .body-inner>.button, .grid-view .property-item-v2
     .body-inner, .grid-view .property-item-v2 .item-body-bottom, .grid-view .property-item-v2 .item-body-
    top, .header-detail .label-wrap, .header-media, .header-media-wrap, .header-mobile>.container, .header-
    section, .header-section .logo img, .header-section-1.nav-right .container, .header-section-1.nav-right 
    .header-left, .header-section-2, .header-section-3, .header-section-4, .header-section-4 .logo img, .header-section-4.nav-right .container, .header-section-4.nav-right .header-left, .header-section-5, .ihf-
    share-btn-more .fa-share, .input-icon, .input-icon input, .item-body .table-cell, .item-thumb, .lightbox-
    arrow, .lightbox-header, .lightbox-left, .lightbox-popup, .lightbox-popup .popup-inner, .list-search form, 
    .loader-ripple, .location-block, .map-info-box, .media-tabs-list li, .mobile-nav .nav-dropdown li, .mobile-
    nav .nav-dropdown ul, .mobile-nav .nav-trigger, .msg-type-block, .my-property .my-actions, .navi>ul 
    .sub-menu li, .navi>ul>li, .next-prev-block .agent-media .media-right, .package-block, .parallax-
    properties-media, .partner-block, .plan-tabs li, .print-banner .print-main-image, .profile-detail-block 
    .profile-image, .property-item-v2 .item-body, .property-item-v2.item-grid .body-inner, .property-item-
    v2.item-grid .item-body-bottom, .property-item-v2.item-grid .item-body-top, .property-item.item-grid, 
    .property-item.item-grid .phone, .rating-container .caption .label, .rating-container .rating, .rating-wrap,
     .saved-search-list .saved-search-block, .search-expand-btn, .search-location, .services-module .service-
    block, .single-input-search, .splash-header.nav-right .container, .splash-header.nav-right .header-left, 
    .splash-search, .steps-progress-main .steps-progress span, .sticky_nav .header-transparent, .team-block,
     .top-bar, .top-bar .top-bar-left, .top-bar .top-bar-right, .top-contact .top-bar-contact .fa, .top-contact 
    .top-bar-phone .fa, .top-drop-downs>li, .user-dashboard-right, .video-block, .widget-calculate .form-
    group, .widget-calculate .gform_wrapper li, .widget-categories a, .widget-categories li, .widget-change 
    .body-inner>.btn, .widget-change .body-inner>.gform_button, .widget-change .gform_wrapper .body-
    inner>.button, .widget-change .gform_wrapper .gform_page_footer .body-
    inner>.button.gform_next_button, .widget-pages a, .widget-pages li, .widget_archive a, .widget_archive 
    li, .widget_categories a, .widget_categories li, .widget_houzez_twitter .owl-theme .owl-nav [class*=owl-],
     .widget_meta a, .widget_meta li, .widget_nav_menu a, .widget_nav_menu li, .widget_pages a, 
    .widget_pages li, .widget_recent_comments a, .widget_recent_comments li, .widget_recent_entries a, 
    .widget_recent_entries li, .widget_search form div, figure {
        position: relative;
    }

    вспомнил анекдот "дядя, такого даже в цирке не показывают"

    А по существу - скорее всего именно в position дело: блок получает hover, становится absolute, теряет фокус, становится relative, опять получает hover и т.д.
    Ответ написан
    1 комментарий
  • Можно ли размещать тег nav в теге header?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Да
    З.Ы. особенно, если там главная навигация по сайту
    З.Ы.Ы. и особенно, если header для шапки сайта
    Ответ написан
    Комментировать
  • Как сделать такой прямоугольник?

    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';

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

    document.addEventListener('click', e => {
      const button = e.target.closest(buttonSelector);
      if (button) {
        input.value = button.innerText;
      }
    });

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

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

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


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