0

首先,对于大多数人来说,我是网络编码的新手,或多或少只是在空闲时间自学......所以如果我没有什么意义,我深表歉意。

我基本上有一个简单的 javascript,它允许我有一个上一个和下一个按钮来移动多个图像。然而,我想拥有多个这样的“画廊”,但在我的情况下,它们是相互影响的。我试图包含每个部分(图库、小文本框和两个按钮),但我没有运气。

如果您点击下面的链接,您可以看到我的问题...根据您的屏幕大小,您可能只会看到一个画廊,但您可以看到每组按钮都会影响每个画廊。这也出于某种原因添加了“空白" 图像添加到图像库列表中。

http://robinwkurtz.com/slider/issue.html

先谢谢了!

这是我的源代码

<div class="section black" id="top_ten">       
<div id="title"><h1>TOP TEN</h1></div>          
<div id="image">
    <div class="container">
        <ol>
            <li><img src="images/project5_1.jpg"></li>
            <li><img src="images/project5_2.jpg"></li>
            <li><img src="images/project5_3.jpg"></li>
        </ol>
      <div id="contentfooter">
        <div id="footer">A publication and poster, which teaches guide lines to technical constraints. With any design job there comes rules and guidelines to follow in order to put out a proper project.</div>
            <span class="button prevButton">&#8211;</span>
            <span  class="button nextButton">+</span>
 </div>
 </div>
 </div>
 </div>

这是我的js

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script>
$(window).load(function(){
    var pages = $('.container ol li'), current=0;
    var currentPage,nextPage;

    $('.button').click(function(){
        currentPage= pages.eq(current);
        if($(this).hasClass('prevButton'))
        {

            if (current <= 0)
                current=pages.length-1;
            else
                current=current-1;
        }
        else
        {
            if (current >= pages.length-1)
                current=0;
            else
                current=current+1;
        }
        nextPage = pages.eq(current);   
        currentPage.hide(); 
        nextPage.show();        
    });

});

4

1 回答 1

0

您有多个具有相同 ID 的元素#container。只有一个元素可以有一个 ID。如果您想将其提供给多个元素,请使其成为一个类。

现在,当您选择 时pages,您将选择所有这些。

var pages = $('#container ol li')

这将选择 #container 内部的每个 li 和 ol (这将是每个容器,但它是一个 ID,所以这也会给你带来问题)。

您知道您单击了哪个按钮,$(this)因此您可以使用.parent()向上 DOM 并找到包含该按钮和页面集的容器,然后只选择它。

于 2013-01-19T19:06:42.817 回答