2016-06-13 59 views
0

有人可以解释我这一开始:功能代码?jquery的UI可拖动启动功能代码

$("#car, #boat, #soccer").draggable({ 
    start: function(event, ui) { 
     if (!done) 
      return false; 
    }, 
}); 
+1

_explain_什么? – Satpal

+1

done是一个已定义的布尔值,如果已完成,那么用户可以拖动'#car,#boat,#soccer' –

+0

如果没有完成?像没有完成拖动?还是没有完成删除它? – Christine

回答

0

done是定义的变量(主要是布尔值),如果它等于true(而不是假),则用户可以拖动#car#boat,和#soccer。这可以解释它

$(function(){ 
 
    
 
    var done = false; 
 
    $('#tg-done').on('click', function(){ 
 
     ((done) ? done = false : done = true); 
 
     $('p').text('`done` = ' + done); 
 
    }); 
 
    
 
    $(".draggable").draggable({ 
 
     start: function(event, ui) { 
 
     if(!done) return false; 
 
     } 
 
    }); 
 

 
});
.draggable { 
 
    width:100px; 
 
    height:100px; 
 
    background:#333; 
 
    border-radius:4px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
 
<button id="tg-done">Toggle `done`</button> 
 
<p>`done` = false</p> 
 

 

 
<div class="draggable"></div>

0

draggablestart功能允许您通过返回false取消阻力。
只有当done var为true时,您才可以在这里拖动#car,#boat#soccer节点。

+0

如果(!done)意味着用户仍然持有可拖动? – Christine

+0

没有剩下的代码我就说不出来了。 'done' var应该是之前设置的。 只有当用户在节点开始移动之前开始拖动节点时,才会调用“开始”功能。所以是的,用户可以拖动,但如果“完成”,他会马上释放它。 –