7

Próbuję użyć jquery do układania elementów w piramidę, ale nie widzę, aby to naprawić.Układanie elementów div do piramidy przy użyciu jQuery UI

Na przykład chciałbym mieć listę z 3 przedmiotami (jabłko, banan, cheeto). Korzystając z funkcji droppable lub sortable, chciałbym przenieść te elementy do innego elementu i ułożyć je w piramidę.

[.........] [cheeto] [............]

[jabłko] [.......... .] [banana]

Do tej pory udało mi się połączyć element list i pusty element, więc wszystkie są sortowalne i mogę wziąć elementy listy i upuścić je do elementu piramidy. To działa.

Problem polega na tym, że nie można układać elementów w konfiguracji innej niż piramida, na przykład wstawiając jabłko, banan i cheetę do górnego rzędu.

Chciałbym również, aby elementy przeniesione do rzeczywistego przeniesienia w DOM. Myślę, że oznacza to, że funkcja przeciągania/zrzucania nie będzie działać dla tej aplikacji, ale mogę się mylić.

Każda pomoc zostanie bardzo doceniona.

+2

Dość złożony problem, to. Gdybym poszedł na to od początku, prawdopodobnie użyłbym kombinacji bootstrap i jQueryUI do stworzenia piramidy za pomocą Grid System bootstrap: http://twitter.github.com/bootstrap/scaffolding.html#gridSystem, a następnie zdefiniuj, który z nich można zrzucić, tworząc piramidę wizualną. Naprawdę nie jest to odpowiedź, ale jestem zainteresowany twoim ewentualnym podejściem do tego. Proszę zaktualizować! –

+0

Musisz podać kod, najlepiej jsfiddle. Będzie ci łatwiej pomóc. Czy masz na myśli piramidę z jednym przedmiotem na górze, a następnie 2, a następnie 3, a następnie 4 itd.? Czy masz na myśli przedmioty, które tworzą pusty trójkąt 1, potem 2, potem 2, potem 2, potem 2, ile jednak potrzeba, by połączyć dno? Potrzebujemy pewności. –

+0

jest to architektura kodu lub reprezentacja wizualna? wspomniałeś o JQUI, więc zakładam, że to drugie ... nie dostaję tego, co byłoby tak trudne? zakładając po raz kolejny, że wszystko jest w porządku, a każdy element ma określoną szerokość/wysokość ... powiedzmy prostokąt. utwórz pustą klasę dla przestrzeni wypełniacza i programowo dodaj swoje rzeczywiste elementy (lub ręcznie). jaki jest faktyczny problem, a raczej jego wynik końcowy? spróbuj wyjaśnić to nieco lepiej, jeśli możesz –

Odpowiedz

1

Zrobiłem proste skrzypce dla twojego problemu http://jsfiddle.net/QXwyk/6/ Podstawową koncepcją była zmiana listy ul na pytamid przez css. Chociaż dodawanie elementów działa całkiem nieźle, to niestety popsuły się podczas poruszania elementami w piramidzie. Może to ci trochę pomoże lub może być dobrym miejscem do dalszych testów.

Html

<ul id="pyramid" class="pyramid sortable"> 
</ul> 

<ul id="fruits" class="fruits sortable"> 
    <li>cheeto</li> 
    <li>apple</li> 
    <li>banana</li> 
    <li>kiwi</li> 
    <li>strawberry</li> 
    <li>limon</li> 
</ul> 

JS

$("#fruits, #pyramid").sortable({ 
    connectWith: ".sortable", 
    placeholder: "ui-state-highlight", 
    cursor: "move", 
}).disableSelection(); 
Powiązane problemy