Показать сообщение отдельно
  #1 (permalink)  
Старый 17.10.2014, 14:03
Интересующийся
Отправить личное сообщение для makarow.dmitry Посмотреть профиль Найти все сообщения от makarow.dmitry
 
Регистрация: 11.01.2014
Сообщений: 15

Отображения элементов относительно друг
Всем привет!
Не могу решить вопрос отображения элементов относительно друг друга.
Буду благодарен если подскажите.

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>


Спасибо.
Ответить с цитированием