2015-10-16 65 views
0

我有一堆div的堆疊上稱爲主股利:#deck。如果我點擊#deck,頂部div將移動到左邊,並添加一些類(如:.addClass('on-discard-pile'))。重複函數3次,但每次改變.animation

如果我再次點擊#deck,下頂格會向左移動上一格的頂部。我有這樣的工作代碼:

var z = 1; 
    $('#deck .card.flipped').on('click', function() { 
     if (!$(this).hasClass('dropped')) { 
      $('.card').removeClass('ui-front'); 
      $(this) 
       .addClass('ui-front') 
       .addClass('on-discard-pile') 
       .addClass('dropped') 
       .css({'z-index': z++}) 
       .animate({left: '8rem'}, 200) 
       .draggable({ disabled: false}) 
       .removeClass('flipped'); 

      set(moveCount, moveCount.value + 1); 

      if (!$(this).is(':first-child')) { 
       $('.card').removeClass('under-card'); 
       $(this).next().addClass('under-card'); 
      } else { 
       $('.card').removeClass('under-card'); 
      } 
     } 
    }); 

這一切工作正常,但我想改變一點功能。而不是移動頂部div,我想從#deck移動前3個div。我不想將div放在彼此的頂部,但略微超過對方。所以第一頂格必須移動到左邊8rem,那麼秒頂部div來10rem最後12rem

這還不是全部,在最後一個div(去12rem並具有最高的z-index)應該是唯一的div得到.draggable({ disabled: false}),但(是的另一個但是)如果我再次點擊#deck.draggable({ disabled: false})應該被刪除並添加到新的頂部股利。

所以,唯一的具有最高的z-index與on-discard-pile類股利應該有.draggable({ disabled: false})

如何做到這一點?有沒有在網上搜索了一些,看着looprepeatarray:lt(),但有沒有工作。

任何幫助,解決它使用 「觸發」 讚賞

回答

0

$('#deck .card.flipped').last().trigger("click",[2])