2011-08-12 29 views
1

所以我這裏的什麼,我試圖做一個快速的樣機 - http://antimac.meloncreative.co.uk/labs/nth.phpjQuery的排序,花車,並清除

真人版使用的div內縮略圖完成的,這些縮略圖各種寬高比。所以寬度總是100px,但高度可以是任何(或多或少)。因爲這個原因,並且使用float,有時候它們不會很好地適合5行,有些會在其他行下,所以它們或多或少都在自己的行上,這使得它看起來很亂。

所以...我該如何在排序時更新它,當更新時,清除會很好地使每行5個div?目前,在那裏我做

$('#reorder div.x:nth-child(5n)').addClass('clear green'); 

位...心不是工作,我會希望

編輯:所以我覺得問題出在(5N)的一部分,當我說拖第1項,在5和6之間,在拖動過程中,第一行中有2個塊丟失,然後當我放下時,第一行中有1個丟失。這可能與我所拖動的那個克隆仍然在那裏擺脫結果,想法有關?

回答

0

因此,答案似乎是

$('#reorder').sortable({ 
     placeholder: 'placeholder', 
     sort: function(event, ui) { 
      $('#reorder div').removeClass('clear green'); 
      $('#reorder div.x:not(.ui-sortable-helper)').addClass('y'); 
      $('#reorder div.placeholder').addClass('y'); 
      $('#reorder div.y:nth-child(5n + 1)').addClass('clear green'); 
     }, 
     update: function(event, ui) { 
      $('#reorder div.x').removeClass('y'); 
      $('#reorder div.x').removeClass('clear green'); 
      $('#reorder div.x:nth-child(5n + 1)').addClass('clear green'); 
     } 
    }); 
    $('.reorder').disableSelection(); 
}); 

它具有佔位符,也是幫手還在從什麼是被拖着周圍發生的問題。

1

我認爲這樣可以。只需確保在x div重新排序之後添加class green。看看這個fiddle。 :eq不識別n,使用:第n個孩子。

$('#reorder').children('div.x:nth-child(5n + 1)').addClass('clear green'); 
+0

嗯給了這個去後它根本沒有工作 - http://antimac.meloncreative.co.uk/labs/nth-ray.php :( – Horse