2011-11-03 76 views
0

我有一个由divs组成的幻灯片。每个Div都包含一张图片和一些html控件。我遇到了一个问题,如果您单击其中一个控件,而不是第一个控件,它只会更新第一个控件。只有幻灯片之间发生变化的是显示器,当您浏览幻灯片时,它将从无变为无效。有没有什么办法可以在jQuery中更改幻灯片上的信息,而无需执行每条语句并搜索哪些类未隐藏?感谢您的任何帮助。jquery幻灯片放映。确定您正在使用哪个幻灯片AKA Div

<div class="TheSlide"> 
     <table> 
     <tr> 
     <td> 

      <div id="divSlideImage"> <asp:HiddenField runat="server" ID="HiddenField1" Value='<%#Eval("ID") %>' /> 
       <asp:ImageButton runat="server" CssClass="AlbumImageView" Height="480" ID="MainPicture" 
        ImageUrl='<%#Eval("PhotoMainImageURL") %>' AlternateText="Slide not showing properly. Refresh Page." /> 
        <div id="pictureTagBorder"></div> 
        </div> 

<div class="TheSlide"> 
     <table> 
     <tr> 
     <td> 

      <div id="divSlideImage"> <asp:HiddenField runat="server" ID="HiddenField1" Value='<%#Eval("ID") %>' /> 
       <asp:ImageButton runat="server" CssClass="AlbumImageView" Height="480" ID="MainPicture" 
        ImageUrl='<%#Eval("PhotoMainImageURL") %>' AlternateText="Slide not showing properly. Refresh Page." /> 
        <div id="pictureTagBorder"></div> 
        </div> 

我想上标记这个类照片时上控制用户点击,但只会做第一张幻灯片此脚本。

$(document).ready(function() { 
      var top = y - 232; 
      var left = x - 145; 
      $('#pictureTagBorder').css({ top:top , left: left }); 
     }); 

回答

2

pictureTagBorder不是一个类,它是一个id属性。您的id属性必须在每个页面上都是唯一的,我猜测您有多个元素id="pictureTagBorder"id="divSlideImage"(可能还有其他元素),因此您的HTML无效。一个ID选择,如#pictureTagBorder,将至多有一个元素匹配,你说

它只会做这个脚本在第一张幻灯片

所以你的问题是,你正在使用id属性,当你应该使用CSS类来识别你的幻灯片元素。