可拖动元素滚动另一个 div 溢出
Draggable element scrolling another div with overflow
您好,我对可拖动事件有疑问。
我无法使用助手滚动另一个 div。
这是示例代码,我写道:
$('.test1').draggable({
helper: 'clone',
scroll: false,
appendTo: '.scrolled-box',
containment: '.test2',
start: function(e, ui) {
$(ui.helper).css({
'opacity': '0.6'
});
}
});
.container {
width: 250px;
height: 100px;
background-color: #ffecc9;
padding: 10px;
border-radius: 3px;
border: 1px solid #333;
}
.test1 {
width: 200px;
height: 20px;
border: 1px solid #333;
background: #33cccc;
border-radius: 3px;
margin: auto;
}
.test1>p {
font-size: 12px;
font-weight: bold;
margin: 0 auto;
display: block;
width: 100%;
text-align: center;
color: #333;
padding: 2px 0;
}
.test2 {
margin-top: 15px;
width: 250px;
height: 60px;
overflow: auto;
background-color: #333;
border-radius: 3px;
color: white;
}
.scrolled-box {
height: 500px;
width: 100%;
text-align: center;
position: relative;
}
span {
position: absolute;
bottom: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="test1">
<p>
drag me
</p>
</div>
<div class="test2">
<div class="scrolled-box">
<span>scrolled box</span>
</div>
</div>
</div>
请看这个:JsFiddle
我做错了什么,我不知道是什么。
请帮助我提高可拖动 (jquery ui) 的经验。
我正在寻找没有额外插件的解决方案。就 jQuery Ui.
您还需要处理 droppable
事件
$('.test1').draggable({
scroll: true,
helper: 'clone',
revert: true,
appendTo: '.scrolled-box',
containment: '.test2',
start: function (e, ui) {
$(ui.helper).css({'opacity': '0.6'});
}
});
$('.test2').droppable({
accept: ".test1",
drop: function( event, ui ) {
ui.helper.clone().appendTo('.scrolled-box');
}
});
.container {
width: 250px;
height: 300px;
background-color: #ffecc9;
padding: 10px;
border-radius: 3px;
border: 1px solid #333;
}
.test1 {
width: 200px;
height: 20px;
border: 1px solid #333;
background: #33cccc;
border-radius: 3px;
margin: auto;
}
.test1 > p {
font-size: 12px;
font-weight: bold;
margin: 0 auto;
display: block;
width: 100%;
text-align: center;
color: #333;
padding: 2px 0;
}
.test2 {
margin-top: 15px;
width: 250px;
height: 160px;
overflow: auto;
background-color: #333;
border-radius: 3px;
color: white;
position: relative;
}
.scrolled-box {
height: 600px;
width: 100%;
text-align: center;
position: relative;
}
span {
position: absolute;
bottom: 10px;
}
<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.12.1/jquery-ui.min.js"></script>
<div class="container">
<div class="test1">
<p>
drag me
</p>
</div>
<div class="test2">
<div class="scrolled-box">
<span>scrolled box</span>
</div>
</div>
</div>
您好,我对可拖动事件有疑问。 我无法使用助手滚动另一个 div。
这是示例代码,我写道:
$('.test1').draggable({
helper: 'clone',
scroll: false,
appendTo: '.scrolled-box',
containment: '.test2',
start: function(e, ui) {
$(ui.helper).css({
'opacity': '0.6'
});
}
});
.container {
width: 250px;
height: 100px;
background-color: #ffecc9;
padding: 10px;
border-radius: 3px;
border: 1px solid #333;
}
.test1 {
width: 200px;
height: 20px;
border: 1px solid #333;
background: #33cccc;
border-radius: 3px;
margin: auto;
}
.test1>p {
font-size: 12px;
font-weight: bold;
margin: 0 auto;
display: block;
width: 100%;
text-align: center;
color: #333;
padding: 2px 0;
}
.test2 {
margin-top: 15px;
width: 250px;
height: 60px;
overflow: auto;
background-color: #333;
border-radius: 3px;
color: white;
}
.scrolled-box {
height: 500px;
width: 100%;
text-align: center;
position: relative;
}
span {
position: absolute;
bottom: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="test1">
<p>
drag me
</p>
</div>
<div class="test2">
<div class="scrolled-box">
<span>scrolled box</span>
</div>
</div>
</div>
请看这个:JsFiddle
我做错了什么,我不知道是什么。 请帮助我提高可拖动 (jquery ui) 的经验。 我正在寻找没有额外插件的解决方案。就 jQuery Ui.
您还需要处理 droppable
事件
$('.test1').draggable({
scroll: true,
helper: 'clone',
revert: true,
appendTo: '.scrolled-box',
containment: '.test2',
start: function (e, ui) {
$(ui.helper).css({'opacity': '0.6'});
}
});
$('.test2').droppable({
accept: ".test1",
drop: function( event, ui ) {
ui.helper.clone().appendTo('.scrolled-box');
}
});
.container {
width: 250px;
height: 300px;
background-color: #ffecc9;
padding: 10px;
border-radius: 3px;
border: 1px solid #333;
}
.test1 {
width: 200px;
height: 20px;
border: 1px solid #333;
background: #33cccc;
border-radius: 3px;
margin: auto;
}
.test1 > p {
font-size: 12px;
font-weight: bold;
margin: 0 auto;
display: block;
width: 100%;
text-align: center;
color: #333;
padding: 2px 0;
}
.test2 {
margin-top: 15px;
width: 250px;
height: 160px;
overflow: auto;
background-color: #333;
border-radius: 3px;
color: white;
position: relative;
}
.scrolled-box {
height: 600px;
width: 100%;
text-align: center;
position: relative;
}
span {
position: absolute;
bottom: 10px;
}
<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.12.1/jquery-ui.min.js"></script>
<div class="container">
<div class="test1">
<p>
drag me
</p>
</div>
<div class="test2">
<div class="scrolled-box">
<span>scrolled box</span>
</div>
</div>
</div>