Javascript 可拖放的z索引问题
我使用拖放jquery ui来创建表单输入,但在拖动元素时z-index出现问题,该元素位于右div后面,但在拖动后它是可见的。那么,如何解决这个问题,使元素在拖动时在右侧div上可见呢 在JS中 HTMLJavascript 可拖放的z索引问题,javascript,html,css,jquery-ui,drag-and-drop,Javascript,Html,Css,Jquery Ui,Drag And Drop,我使用拖放jquery ui来创建表单输入,但在拖动元素时z-index出现问题,该元素位于右div后面,但在拖动后它是可见的。那么,如何解决这个问题,使元素在拖动时在右侧div上可见呢 在JS中 HTML 该问题与z-index属性无关。您看到此行为的原因是在容器#trash和#main元素上设置了溢出:隐藏 如果希望能够将元素从其容器元素中拖出,溢出属性应设置为可见(默认值)。因此,您只需删除溢出:隐藏的 作为旁注,我在元素中添加了框大小:边框框,以便在其宽度/高度计算中包含填充/边框。
该问题与
z-index
属性无关。您看到此行为的原因是在容器#trash
和#main
元素上设置了溢出:隐藏
如果希望能够将元素从其容器元素中拖出,溢出
属性应设置为可见
(默认值)。因此,您只需删除溢出:隐藏的
作为旁注,我在元素中添加了框大小:边框框
,以便在其宽度/高度计算中包含填充
/边框
。我相信您可能添加了overflow:hidden
,以防止元素扩展到其父元素之外。通过添加框大小:边框框
,并将元素的宽度设置为100%
,可以解决此问题
$('#main1 div').draggable({
cursor: 'pointer',
connectWith: '.dropme2',
helper: 'clone',
zIndex: 10
});
$('.dropme2 form').sortable({
connectWith: '.dropme',
cursor: 'pointer',
zIndex: 1000
});
<div class="dropme" id="main1">
<div id="ytvid">YouTube video</div>
<div id="paragraph">Paragraph</div>
</div>
<div class="dropme2" id="trash">
<form id="form" style="width: 100%; min-height: 100px; float: left; padding-bottom: 40px;
position: relative; z-index: 2;">
<input type="submit" id="getids" value="save" style="position: absolute; bottom: 0; left: 48%;" />
</form>
</div>
#trash,
#main1 {
display: inline-block;
width: 250px;
min-height: 100px;
overflow: hidden;
float: left;
margin-right: 30px;
background: rgb(236, 237, 240);
}
#trash {
width: 300px;
float: right;
position: relative;
z-index: 1;
}
#main1 {
float: none;
position: fixed;
top: 30px;
left: 30px;
z-index: 9;
}
#main1 div {
list-style: none;
margin-bottom: 2px;
background-color: #7F7F87;
padding-left: 30px;
width: 230px;
cursor: -webkit-grab;
color: #fff;
font-size: 18px;
height: 40px;
line-height: 40px;
float: left;
position: relative;
z-index: 10;
}
#trash form > div {
height: auto;
width: 97%;
margin-bottom: 2px;
background-color: #7F7F87;
padding-left: 30px;
cursor: -webkit-grab;
color: #fff;
font-size: 18px;
line-height: 40px;
position: relative;
z-index: 10;
}
.highlight {
padding: 5px;
border: 2px dotted #fff09f;
background: #fffef5;
}