简体   繁体   中英

jQuery left and right button scroll

I've been trying to figure this out for a couple days now and can't seem to make any headway. I am trying to do a simple left and right scroll using images as the scrollers but I can't seem to get it to work. Here is my code: 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;
}

Any help will be appreciative.

Your IDs are wrong, you have named them #left and #right , not simply left and right . In your JSfiddle you have managed to set this as the id: #left1 and #right1 .

Solution: Change the ID's to say left and right , so you will have:

<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>

You are also trying to access your div with class outerwrapper as a id , not as a class . Either change outerwrapper to be an ID so <div id="outerwrapper"> or change the jquery to look for the class: $(".outerwrapper") (the prior solution is in my mind superior, so change div id).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM