我有以下html结构:
HTML
<div id="outer">
<div id="inner">
<div id="bounds">
<div id="myimage">
</div>
</div>
</div>
</div>
CSS
#outer
{
border: solid 1px red;
padding: 50px 30px 50px 30px;
float: left;
}
#inner
{
width: 300px;
height: 300px;
border: solid 1px black;
overflow:hidden;
position:relative;
}
#myimage
{
background-image:url('http://upload.wikimedia.org/wikipedia/commons/9/9a/Sample_Floorplan.jpg');
background-position : 0,0;
background-repeat:no-repeat;
width: 648px; /*TODO : size will be dynamic*/
height: 438px; /*TODO : size will be dynamic*/
position:relative;
}
JS
$("#myimage").draggable(); //{ containment: "#bounds" }
//$("#bounds").width(); //? value
//$("#bounds").height(); //? value
//$("#bounds").css("left",""); //? value
//$("#bounds").height("top","");? value
一个“内部”div,它有一个可拖动的子 div,带有background-image
.
内部 div 有overflow:hidden
. 我需要的是限制图像的拖动,以便整个图像可以滚动,但图像不应该完全拖出“内部”div(图像的某些部分必须始终保持可见)。
这就是为什么我添加了一个bounds
div 。如何定义
bounds
div 的尺寸和位置,以限制图像的移动。
这样我可以写
$("#myimage").draggable({ containment: "#bounds" });