2011-09-26 45 views
3

我試圖創建一個函數,根據點擊哪個按鈕/鏈接,將div的關閉/放在頁面上。如何使用jQuery將div的關閉/在頁面上滑動

的基本結構:

<div class="button"><a href="#">Click Box #1</a> </div> 
<div class="button"><a href="#">Click Box #2</a> </div> 
<div class="button"><a href="#">Click Box #3</a> </div> 

<div id="container"> 

    <div id="box1" class="box">Box #1</div> 
    <div id="box2" class="box">Box #2</div> 
    <div id="box3" class="box">Box #3</div> 

</div> 

目前我使用

$('.button').click(function() { 
    $('.box').each(function() { 

但是,當然,這隻能作爲一種循環的,僅滑動第一和最後一個div,如何能我將每個按鈕滑出來,然後放在適當的div中。什麼我迄今爲止

例子:http://jsfiddle.net/ykbgT/538/

回答

2

如果你總是想顯示的第n個盒子,其中n是您點擊鏈接的指標,嘗試這樣的事情:

$('.button').click(function() { 
    var index = $(this).index(".button"); 
    var $box = $(".box:eq(" + index + ")"); 

    $(".box").not($box).animate({ 
     left: '150%' 
    }, 500); 

    if ($box.offset().left < 0) { 
     $box.css("left", "150%"); 
    } else if ($box.offset().left > $('#container').width()) { 
     $box.animate({ 
      left: '50%', 
     }, 500); 
    } 
}); 

更新了例:http://jsfiddle.net/andrewwhitaker/2uV2h/

0

最靈活的方式將是一個自定義屬性添加到具有相應框的ID名稱的DIV標籤。例如:

<div class="button" boxid="box1">.... 
在點擊功能

然後:

$('.button').click(function() { 
    mybox=$(this).attr("boxid"); 
    $(mybox).[whatever code you need to slide the DIV in and out of the screen] 
    .... 
} 
相關問題