2013-09-01 4 views
0

У меня есть элемент управления ретранслятора для отображения комментариев пользователей. Комментарии хранятся в теге 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>` 

А вот Javascript

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

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

ответ

0

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

Вот код

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