2012-09-23 85 views
0

我想讓第一個可排序列表中的div - 「small_box」始終不可見。我試着用jquery第一次(),但只有一次,只有一個和相同的元素,每當它被拖動。我如何簡單地將它拖回到可見的位置,然後將其拖到第一位以外的位置,然後使首先跳入的項目變爲隱形「small_box」?jquery ui sortable,第一個項目中的div塊不可見

我把活生生的例子在這裏:http://jsfiddle.net/kriskasper/3knnn/

<ul id="sortable" class='connectedSortable'> 
<li> 
    <div class="small_box">small box</div>  
    <div class="big_box">big box</div> 
</li>   
<li> 
    <div class="small_box">small box</div>  
    <div class="big_box">big box</div> 
</li>   
<li> 
    <div class="small_box">small box</div>  
    <div class="big_box">big box</div> 
</li> 

<li> 
    <div class="small_box">small box</div>  
    <div class="big_box">big box</div> 
</li>  
</ul> 

這裏是jQuery用戶界面功能:

$(function() { 
    $("#sortable").sortable({ 
     connectWith: ".connectedSortable", 
     placeholder: "ui-state-highlight", 
     forcePlaceholderSize: true, 
     opacity: 0.6, 
     revert: 70 

    }); 
}); 

請幫助。

回答

0

你應該玩排序插件事件。當連接元素收到一個項目時,sortreceive事件被觸發。我的猜測是類似...

$("#sortable").bind("sortreceive", function(event, ui) { 
    $(".connectedSortable .small_box").show(); 
    $("#sortable .small_box").first().hide(); 
}); 
+0

我用這個: '$(函數(){$ ( 「#sortable」).sortable({ connectWith: 「.connectedSortable」, 佔位符: 「UI-狀態高亮」, forcePlaceholderSize:真, 不透明度:0.6, 復歸:70 }); $( 「#排序」)結合( 「sortreceive」,功能(事件,UI)。 {(「。connectedSortable .small_box」)。show(); $(「#sortable .small_box」)。first ()。隱藏(); }); });' 但它不工作,我不知道我做錯了什麼。 [ttp://jsfiddle.net/3knnn/4/](http://jsfiddle.net/3knnn/4/) – kris

+0

你讓我感到困惑與connectedSortable,你沒有使用,因爲你只有一個名單。你可以用一個簡單的css來解決這個問題'ul li:first-child .small_box {display:none; }' – markz

+0

看看這兩個小提琴。一個用css,另一個用js。 http://jsfiddle.net/3knnn/11/和http://jsfiddle.net/3knnn/14/ – markz

相關問題