У меня есть идея для пользовательского интерфейса, которая выглядит примерно так:
- Там есть скрытый контейнер с перетаскиваемыми элементами.
- Пользователь нажимает что-то, чтобы показатьконтейнер.
- Пользователь может перетащить элемент из контейнера на «основную область».
- Когда элемент вытаскивается из контейнера, контейнер с остальными элементами должен вернуться назад.чтобы быть скрытым.
Я прошел так далеко, как в коде ниже, однако я столкнулся с проблемой, которую я не могу решить, как обойти.
Когда родительский контейнер элемента скрывается, элемент также скрывается.Плюс с эффектом слайда, позиционирование элемента также будет выполнено.
Любые мысли или идеи о том, как я мог бы решить это, было бы очень кстати :) И если я на неправильном пути, то все вместе,Не стесняйтесь указывать в правильном направлении:)
Заранее спасибо, Ола
<style>
#container{ background-color: red; width:300px; height:200px; position:absolute; left: 200px; top:200px; display: none;}
#draggable1 {background-color: blue; width:100px; height:50px;}
#draggable2 {background-color: green; width:100px; height:50px;}
</style>
<div id="container">
<p>Original Container</p>
<div id="draggable1" class="draggable">
<p>Draggable1</p>
</div>
<div id="draggable2" class="draggable">
<p>Draggable2</p>
</div>
</div>
<div id="showContainer">Show Container</div>
<script type="text/javascript">
$(function () {
//Click to show the container
$("#showContainer").click(function () {
//Call function to toggle the visibillity of the container
toggleContainer();
});
//Set the draggable elements
$(".draggable").draggable();
//Set the container as a drop target, to be able to get the event of when
//the draggable leaves the container
$("#container").droppable();
//Bind to the event of the darggable element leaving the droppable area
$("#container").bind("dropout", function (event, ui) {
//When draggable element is dragged outside of container, hide it
toggleContainer();
});
//function to toggle the visibillity of the container
function toggleContainer() {
//Animating the toggling of visibillity with a slide effect
$("#container").toggle('slide', { direction: 'down' });
};
});