html - jquery-ui, draggable item : does'nt work when position is absolute -
i'm trying make draggable items contained in position:absolute div. works when dragged on div declared earlier in code, item never appear on [position:absolute] div declared later in code, when setting lower z-index div...
here's example
$(function(){ $(".myclass").draggable({stack:".bg"}); }(jquery));
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> <div style="position:absolute;background-color:#3ff;width:200px;height:200px;border:1px solid #000;left:0px;top:0px;z-index:10;"> <div class="myclass" style="position:absolute;left:10px;top:10px;width:70px;height:70px;background-color:#0f6;border:1px solid #000;z-index:100;">draggable</div> </div> <div style="position:absolute;background-color:#ffc;width:200px;height:200px;border:1px solid #000;left:205px;top:0px;z-index:10;"> <div class="myclass" style="position:absolute;left:10px;top:10px;width:70px;height:70px;background-color:#0f6;border:1px solid #000;z-index:100;">draggable</div> </div> <div style="position:absolute;background-color:#9cf;width:200px;height:200px;border:1px solid #000;left:205px;top:205px;z-index:10;"></div>
any idea of how solve issue ?
thx.
the problem z-index
on parents elements. 1 easy way resolve problem remove them. or can manipulate them on start
, stop
draggable parent @ top. see here manipulating on start , stop, removing html should work.
$(function() { $(".myclass").draggable({ stack: ".myclass", start: function(e, ui) { ui.helper.parent().css('z-index', 30); }, stop: function(e, ui){ ui.helper.parent().css('z-index', 10); } }); }(jquery));
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> <div style="position:absolute;background-color:#3ff;width:200px;height:200px;border:1px solid #000;left:0px;top:0px;z-index: 10;"> <div class="myclass" style="position:absolute;left:10px;top:10px;width:70px;height:70px;background-color:#0f6;border:1px solid #000;z-index:100;">draggable</div> </div> <div style="position:absolute;background-color:#ffc;width:200px;height:200px;border:1px solid #000;left:205px;top:0px;z-index: 10;"> <div class="myclass" style="position:absolute;left:10px;top:10px;width:70px;height:70px;background-color:#0f6;border:1px solid #000;z-index:100;">draggable</div> </div> <div style="position:absolute;background-color:#9cf;width:200px;height:200px;border:1px solid #000;left:205px;top:205px;z-indx: 10;"></div>
Comments
Post a Comment