Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Отображение одного компонента в 2-х областях сайта

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день форумчане! Такая проблема. Есть страничка: https://nbs22.ru/test.php
На ней размещен модуль определения городов.
Я разместил его в шапке, в фиксированной шапке, и в боковом меню, которое видно при разрешении экрана <991px
Проблема такая, если размещаю в шапке модуль, то в боковое меню при нажатии на город ничего не происходит, но стоит растянуть экран до 992 то окошко появляется. Но если из кода в консоле браузера вырезать верхнюю кнопку в блоке
 

Код:
<div class="inner-table-block">
    
</div>

То боковое меню отлично работает. Подскажите, каким образом заставить работать в обоих вариантах?
 
p.s. чтобы фиксированная шапка появилась, достаточно прокрутить страничку чуть вниз.
http://prntscr.com/gerdyf - работает
http://prntscr.com/gere37 - не работает
 
конфликт скриптов исключаю. Т.к. если разместить компонент в шапке и в фиксированной шапке. То работают оба варианта. Проблема именно с боковым.
 
Перенесите, пожалуйста, тему в нужный раздел. Создал по невнимательности.

----------
https://nbs22.ru -
Запчасти и аксессуары

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 07:06 30-08-2017 | Исправлено: b7music, 10:59 30-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music
не нужно так темы называть, да и есть же тема - Вопросы по CSS
и при чем тут css вообще? там у вас такой бардак - по 20 обработчиков кликов висит.
ну а проблема.. например id должен быть уникальным на странице, у вас же несколько повторяющихся id
и валидатор выдает ошибки, которые приводят к проблемам https://validator.w3.org/
+ какие то </input>
 
а не отображается потому, что .popup (и сам элемент .ys-popup) имеют display: none;
то есть js код не меняет отображение в виду неправильной адресации (селектора) к тегу.
 
если вручную отключить display, то показывается.. или выставить вручную

Код:
<div class="ys-popup popup header_wrap" id="ys-locator" style="display: block;">

а раз говорите, что нужно удалить какие то теги, значит нарушена структура (вложенность или еще что) тегов, к которым пытается обращаться js скрипт обработки городов
 
и это очевидно почему - читайте первую часть поста, где говорится об уникальном id. ваш скрипт работает с первым попавшимся ему id (тем, что в шапке), не меняя ничего у второго

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 07:48 30-08-2017 | Исправлено: Mavrikii, 08:00 30-08-2017
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо за отклик. Такой сайт достался от известных разработчиков.  
если popup прописать display: block то он отображается всегда, и не закрывается по кнопке закрыть.  
Попробую сделать второй аналогичный шаблон с другими id проверю. Еще раз спасибо за мысль.
Что-то тему про css не сообразил искать в другом разделе.

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 08:33 30-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music

Цитата:
если popup прописать display: block то он отображается всегда, и не закрывается по кнопке закрыть

ессно не будет закрываться и будет виден.
к примеру в коде, закрытие по клику

Цитата:
    /**
    * Hide popup window
    */
    hidePopUpGeoIP = function() {
        $('#ys-locator').css('display', 'none');
        $('#ys-geoip-mask').css('display', 'none');
        $('.ys-loc-autocomplete').css('display', 'none');
        $('#ys-locator input.txt').val('');
    };

он изначально предназначен только для работы с одним экземпляром формы на странице.
ps: а это чтобы было понятно почему - https://jsfiddle.net/dmqe03bo/

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 08:42 30-08-2017 | Исправлено: Mavrikii, 08:47 30-08-2017
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо! Значит ли это, что мне достаточно будет присвоить всем блокам отличный id и продублировать их в java?

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 09:00 30-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music

Цитата:
Значит ли это, что мне достаточно будет присвоить всем блокам отличный id и продублировать их в java?

не java, а javascript. могут быть конфликты, поэтому код лучше переписать, чтобы не привязывался к id.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 09:02 30-08-2017
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Немного отклоняюсь от изначальной темы.
С javascript работать не умею.
Добавил функции, немного переименовал.  
        nbs22showPopUpGeoIP
        nbs22hidePopUpGeoIP
 
Так же в шаблоне компонента который в боковом меню так же переименовал все блоки которые упомянуты в скрипте пример, в шапке ys-loc-city, в боковом nbs22-ys-loc-city. Теперь в боковом меню при нажатии страничка просто перезагружается. Как отследить из за чего? Проверил валидатором, на скрипт не ругается.
В консоле браузера ошибок тоже нет.
 
https://jsfiddle.net/dmqe03bo/1/ ругается на {"error": "Please use POST request"}
 
Если  
<a href="" class="nbs22-ys-loc-city">
    <?
    if (!empty($arResult['CITY_INLINE'])) {
        echo $arResult['CITY_INLINE'];
    } else {
        echo GetMessage('CHOOSE_CITY');
    }
    ?>
</a>
меняю class на ys-loc-city, то появляется затемненный фон, но попапа все равно не видно, как только меняю на nbs22-ys-loc-city то при нажатии на название города просто перезагрузка страницы.
Подскажите, что не так делаю?
 
MavrikiiОгромное спасибо за подсказку! Разобрался, и практически все сделал. Осталось стили подправить, да разобраться почему крестик закрытия не отрабатывает)

----------
https://nbs22.ru -
Запчасти и аксессуары

Всего записей: 674 | Зарегистр. 04-03-2010 | Отправлено: 10:52 30-08-2017 | Исправлено: b7music, 13:23 30-08-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Отображение одного компонента в 2-х областях сайта


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru