【发布时间】:2018-07-02 08:30:43
【问题描述】:
我将“拖动”拖到“container1”和“container2”。当它被放下时,如果在“container1”中,“drag”会变成深紫色,如果在“container2”中,“drag”会变成深橙色。
这就是我所拥有的,当它悬停在可放置容器上时,它会改变“拖动”,但是当它被放置时它不会改变颜色。任何帮助表示赞赏!谢谢!
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.container {
width: 50px;
height: 50px;
background: #e9559a;
padding: 13px;
margin: 0 5px 5px 0;
}
.bdrag {
height: 100px;
width: 100px;
background: grey;
padding: 5px;
}
.dark-purple {
background: #8b0000;
}
.dark-orange {
background: #000080
}
.drop-green {
background: #38a53a;
}
.drop-yellow {
background: #fbff23;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-12">
<div class="shape-container">
<div id="origin-container" class="container">
<div id="dragbox" class="bdrag text-dark">
<p>Draggable Box</p>
</div>
</div>
<div id="dcontainer2" class="container">
<p>Can drop in here #1</p>
</div>
<div id="dcontainer1" class="container">
<p>Can drop in here #2</p>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$(function() {
$("#drag-container").draggable({
revert: function(event, ui) {
$(this).data("uiDraggable").originalPosition = {
top: 0,
left: 0
};
return !event;
}
});
$("#dcontainer1").droppable({
accept: '#dragbox'
});
$("#dcontainer2").droppable({
accept: '#dragbox'
});
$( "#dcontainer1" ).droppable({
over: function() {
$("#dragbox").addClass("drop-yellow")
.removeClass("drop-green"); },
drop: function() {
$("#dragbox").addClass("dark-orange")
.removeClass("dark-purple").find("p"); }
});
$( "#dcontainer1" ).droppable({
over: function() {
$("#dragbox").addClass("drop-green")
.removeClass("drop-yellow"); },
drop: function() {
$("#dragbox").addClass("dark-purple")
.removeClass("dark-orange").find("p"); }
});
});
});
</script>
</body>
</html>
【问题讨论】:
标签: javascript jquery html jquery-ui jquery-ui-draggable