слайд-шоу jquery. Определите, на каком слайде AKA Div вы находитесь

У меня есть слайд-шоу, состоящее из div. Каждый Div содержит изображение и некоторые элементы управления HTML. У меня проблема: если щелкнуть один из элементов управления на слайде, отличном от первого, он обновит только первый. Единственное, что меняется между слайдами, — это отображение, которое переключается с «Нет» на «Блокировать» при просмотре слайд-шоу. Есть ли способ в jquery изменить этот слайд, на котором вы находитесь, без выполнения каждого оператора и поиска того, какой класс не скрыт? Спасибо за любую помощь.

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

person user516883    schedule 03.11.2011    source источник


Ответы (1)


pictureTagBorder - это не класс, это атрибут id. Ваши атрибуты id должны быть уникальными на каждой странице, и я предполагаю, что у вас есть несколько элементов с id="pictureTagBorder" и id="divSlideImage" (и, возможно, другие), поэтому ваш HTML недействителен. Селектор идентификатора, такой как #pictureTagBorder, будет соответствовать не более чем одному элементу, и вы говорите, что

он будет делать этот скрипт только на первом слайде

поэтому ваша проблема в том, что вы используете атрибуты id, когда вы должны использовать классы CSS для идентификации ваших элементов слайда.

person mu is too short    schedule 03.11.2011