Установка свойств дочернего тега в элементе управления повторителем

У меня есть элемент управления повторителем, чтобы показывать комментарии пользователей. Комментарии хранятся в теге div, а внутри этого тега div есть и другие теги. Я присвоил свойство hover родительскому тегу, чтобы сделать дочерний тег div видимым при наведении курсора. Когда я запускаю код, свойство hover работает только с первым комментарием в повторителе. Если мышь удерживается над другими комментариями, свойство hover снова работает для первого комментария. Вот мой HTML-код `

        <ItemTemplate>

        <div id="divComnt" class="Dcomment span9" onmouseover="MouseOver_Comment()" onmouseout="MouseOut_Comment()">  
               <div class="date" >Posted at <%#Eval("DateAdded")%></div>
               <br/>
               <p><%# Eval("Comment") %> </p>
               <br/>
                <%--reply buttons--%>
                <div id="Div_replyLinks" class="bottom pull-left replyLink" style="margin:3px 1px 3px 1px">

                <a href="#" title="Katılıyorum"><i class=" icon-thumbs-up"></i> </a>
                <a href="#" title="Katılmıyorum"><i class=" icon-thumbs-down"></i> </a>
                <a href="#" title="Bence..."><i class="icon-comment"></i> </a>

              </div>
            </div>
            </ItemTemplate>

            </asp:Repeater>`

А вот джаваскрипт

function MouseOut_Comment() {
        var div = document.getElementById("Div_replyLinks");
        div.style.visibility = 'hidden';
    }
    function MouseOver_Comment() {

        var div = document.getElementById("Div_replyLinks").;
        div.style.visibility = 'visible';
    }

А вот ссылка для наглядного пособия. , я не могу загрузить изображение из-за отсутствия репутации) Как вы можете видеть на изображении, активный блок комментариев является вторым, но значки кнопки ответа видны в первом.


person diyapesen    schedule 01.09.2013    source источник


Ответы (1)


Хорошо, я найду способ исправить проблему. Я использовал ‹%#Container.ItemIndex%> в качестве значения идентификатора элемента div, свойство видимости которого я хотел бы изменить. Затем отправьте ‹%#Container.ItemIndex%> в качестве аргумента функций Java.

Вот код

<asp:Repeater ID="RptComments" runat="server"  >   

        <ItemTemplate>

        <div id="DivComnt" class="Dcomment span9" onmouseover="MouseOver_Comment('<%#Container.ItemIndex%>')" onmouseout="MouseOut_Comment('<%#Container.ItemIndex%>')">  
               <div class="date" >Posted at <%#Eval("DateAdded")%></div>
               <br />
               <p style="margin:2px 5px 2px 5px"><%# Eval("Comment") %> </p>
               <br />
               <%--reply buttons--%>
               <div id="<%#Container.ItemIndex%>" class="bottom pull-right replyLink" style="margin:3px 1px 3px 1px">
                <a href="#" title="Katılıyorum"><i class=" icon-thumbs-up"></i></a>
                <a href="#" title="Katılmıyorum"><i class=" icon-thumbs-down"></i></a>
                <a href="#" title="Bence..."><i class="icon-comment"></i></a>
              </div>
            </div>
            </ItemTemplate>
            </asp:Repeater>

А вот java-код:

function MouseOver_Comment(id) {
        var div = document.getElementById(id);
        div.style.visibility = 'visible';               
    }
    function MouseOut_Comment(id) {
        var div = document.getElementById(id);
        div.style.visibility = 'hidden';
    }
person diyapesen    schedule 01.09.2013