0

几天来我一直在努力解决这个问题,但似乎无法取得任何进展。我正在尝试使用图像作为滚动条来做一个简单的左右滚动,但我似乎无法让它工作。这是我的代码:http: //jsfiddle.net/7GrTM/1/

HTML

<div class="outerwrapper">
   <div class="innerwrapper">
     <div class="productsbox">
          <img class="box_image" src="images/productsbox1.png" style="width:222px" alt="this"/>
     </div>
     <div class="spacer"></div>
     <div class='productsbox'>  
          <img class='box_image' src="images/productsbox2.png" style='width:222px' alt="this"/>
     </div>
     <div class="spacer"></div>
     <div class='productsbox'>  
          <img class='box_image' src="images/productsbox3.png" style='width:222px' alt="this"/>                      
     </div>
     <div class="spacer"></div>
     <div class='productsbox'>  
          <img class='box_image' src="images/productsbox4.png" style='width:221px' alt="this"/>  
    </div>
    <div class="spacer"></div>
    <div class='productsbox'>  
         <img class='box_image' src="images/productsbox5.png" style='width:221px' alt="this"/>  
    </div>
    <div class="spacer"></div>
    <div class='productsbox'>  
         <img class='box_image' src="images/productsbox6.png" style='width:221px' alt="this"/>
    </div>
  </div>
</div>
    <div class="productspace">
        <img src="images/arrowleft.png" id="#left" alt="left"/>
        <img src="images/arrowright.png" id="#right" style="padding-left: 10px;" alt="right"/>
    </div>

JS

$(function () {

    $("#right, #left").click(function () {
        var dir = this.id == "right" ? '+=' : '-=';
        $("#outerwrapper").stop().animate({ scrollLeft: dir + '422' }, 1000);
    });

});

CSS

.spacer {
    width: 20px;
    height: 319px;
    display: inline-block;
}

.outerwrapper {
    margin: 0px auto;
    width: 1050px;
    height: 323px;
    display: inline-block;
    overflow: hidden;
}

.innerwrapper {
    width: 1600px;
    height: 322px;
    margin: 0 auto;
    display: inline-block;
    overflow: hidden;
}

任何帮助将不胜感激。

4

1 回答 1

1

您的 ID 错误,您将它们命名为#leftand #right,而不是简单left的 and right。在您的 JSfiddle 中,您已设法将其设置为 id:#left1#right1.

解决方案:将 ID 更改为leftand right,这样您将拥有:

<div class="productspace">
    <img src="images/arrowleft.png" id="left" alt="left"/>
    <img src="images/arrowright.png" id="right" style="padding-left: 10px;" alt="right"/>
</div>

您还尝试使用 classouterwrapper作为 a访问您的 div id,而不是作为 a class。要么将外包装更改为 ID,<div id="outerwrapper">要么更改 jquery 以查找类:($(".outerwrapper")在我看来,先前的解决方案是优越的,所以更改 div id)。

于 2013-08-29T19:50:31.373 回答