Отображения элементов относительно друг
Всем привет!
Не могу решить вопрос отображения элементов относительно друг друга. Буду благодарен если подскажите. 1. Нужно чтобы при появлении одного элемента - все остальные скрывались. Делал так, но не выходит... $(this).parents("#photo-block .brand-panel #hide").hide(); 2. Перестала работать привязка элемента к другом, когда динамически генерирую контент. Нужно чтобы работало. Статически работает вот так - http://teleport.ink/index_a.html Вот функция. function position() { panel_info.position({ of: $(this), my: "center center", at: "center bottom+6", collision: "flipfit", within: image_mark }); } Вот весь код JS $(document).ready(function(){ $(".mark-brand").click(function(){ var panel_info = $(this).next('.brand-panel'); //Панель относящаяся к данной метке var switch_status = $(this).next('.brand-panel').attr("id"); //Берем значение переключателя var image_mark = $(this).siblings("#image"); //Функция, которая приклеивает панель к метке. function position() { panel_info.position({ of: $(this), my: "center center", at: "center bottom+6", collision: "flipfit", within: image_mark }); } //Взависимости от значения id либо скрываем, либо показываем панель if ( switch_status == "hide" ) { position(); $(this).next('.brand-panel').attr("id","show"); panel_info.show(); $(this).parents("#photo-block .brand-panel #hide").hide(); //Здесь должны скрываться все панели с id hide } else if ( switch_status == "show") { panel_info.hide(); $(this).next('.brand-panel').attr("id","hide"); } }); }); А вот html <div class="photo-block"> {% for tag in photo.get_tags %} {% if tag.z_position == 1 %} <div class="mark-brand" style="top:{{ tag.y_position }}; left:{{ tag.x_position }};" id="{{ tag.id }}"> <svg class="star-mark star-green-active" viewBox="0 0 105 105"> <use xlink:href="#star-mark"></use> </svg> </div> <div class="brand-panel active" id="show"> <a href="{{ tag.url }}"> <p>{{ tag.brand_name }}</p> <div class="button-mark"> <svg class="arrow-right-icon arrow-right-icon-green" viewBox="0 0 15.15 22"> <use id="mark-close-use" xlink:href="#arrow-right-icon"></use> </svg> </div> </a> </div> {% else %} <div class="mark-brand" style="top:{{ tag.y_position }}; left:{{ tag.x_position }};" id="{{ tag.id }}"> <svg class="star-mark" viewBox="0 0 105 105"> <use xlink:href="#star-mark"></use> </svg> </div> <div class="brand-panel position" id="hide"> <a href="{{ tag.url }}"> <p>{{ tag.brand_name }}</p> <div class="button-mark"> <svg class="arrow-right-icon arrow-right-icon-green" viewBox="0 0 15.15 22"> <use id="mark-close-use" xlink:href="#arrow-right-icon"></use> </svg> </div> </a> </div> {% endif %} {% endfor%} <img src="/uploads/{{ photo.image }}" id="image"/> <a href="/add/{{ item.id }}" class="button-add-edit" id="button-add-edit"></a> </div> Спасибо. |
Цитата:
|
Цитата:
|
Цитата:
$(document).ready() Оно же должно работать только после загрузки. Все элементы загружаются сразу... |
Цитата:
Что касается Цитата:
|
$(this).parents("#photo-block .brand-panel #hide").hide(); Вот это не работает. И вот это position(); |
makarow.dmitry, ты в состоянии сделать тестовый пример где проявляется твоя проблема?
|
Цитата:
position(); - также не делается свою задачу. |
makarow.dmitry, начнем с того, что это далеко не тестовый пример...
Но даже это уже показывает некую фигнотень. Поскольку селектор #photo-block .brand-panel #hide не может выбрать более одного элемента, потому, как заканчивается на селектор идентификатора - #hide. |
Цитата:
C основными моментами разобрался. Вот только не нашел решение одной проблемы: Она возникает, когда генерируется контент, например аяксом. Все id и class такие же, как в рабочих элементах (которые сгенерировались при загрузке) Пробовал load - но не сработало. Может подскажите что я упускаю из основных моментов. Спасибо |
Часовой пояс GMT +3, время: 07:59. |