繁体   English   中英

jQuery UI Draggable:拖动比容器更大的div

[英]jQuery UI Draggable: Drag bigger div than container

当我遇到问题时,我正在使用jQuery UI Draggable元素。 我希望能够拖动一个大于容器的div元素。 所以我尝试在容器上使用position:relative,在可拖动元素上使用position:absolute但它不起作用。 基本上我想要完成的是: http//tech.pro/tutorial/790/javascript-tutorial-draggable-view-in-a-container

您可以在此处查看以下代码示例: http//bit.ly/1qhVxqJ

我的代码:

外部

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>

CSS

.draggable { 
width: 750px; 
height: 750px; 
padding: 0.5em; 
float: left; 
position: absolute;
background: #6C6;
border:2px solid #fff;
}

#containment-wrapper { 
height:500px;
width:700px;
background: #000;
margin-top:250px;
margin-left:500px;
border:2px solid #ccc; 
position:relative;
overflow:hidden;
}

HTML

<div id="containment-wrapper">
  <div id="draggable3" class="draggable ui-widget-content">
    <p>I'm contained within the box</p>
  </div>
</div>

jQuery的

$(function() {
    $( "#draggable3" ).draggable({ cursor: "move", containment: "#containment-wrapper" });
  });

你需要做的是在可拖动元素上加上一个负边距,等于它可以被拖到容器外面的像素距离。 无论您的可拖动位置是相对位置还是绝对位置,这都应该有效。

也许,您希望负边距等于两个容器大小之间的差异,以便可拖动总是覆盖父级。 (这是javascript拖动/裁剪工具通常的工作方式。)所以在你的情况下:

.draggable { 
  margin: -250px -50px;
  top: 250px;
  left: 50px;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM