Własny system widgetów jax, php, jak w wordpress 2.8 |
![]() ![]() |
Własny system widgetów jax, php, jak w wordpress 2.8 |
11.07.2009 - 13:39
Post
#1
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
Cze,
Na jakiej zasadzie można wykonać podobnie jak ma Wordpress do zarządzania panelami (widgetami), że jak się przeciągnie na daną pozycję to tam się potem zapisuje automatycznie pozycja. Wiem, że to mozna wykonac w ajaxie, tylko nie wiem jak to ugryźć Mam taki skrypt http://www.dhtmlgoodies.com/scripts/drag-d...rag-drop-2.html no i nie wiem jak tu mozna zrobic aby zapisywało pozycje. Samą obsługę ajaxa znam, wiem jak wysłąć dane do skryptu, tylko nie wiem jaki to jest uchwyt dla pozycji. Proszę mi to jakos wyjaśnić smile.gif |
|
|
|
| Reklama |
11.07.2009 - 13:39
Post
#
|
![]() Reklama |
|
|
|
|
13.07.2009 - 17:36
Post
#2
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
Zajrzyj do jQuery UI sortable
Wejdź w "Events". i tam masz funkcje. Start, sort, stop. Jak to działa ? Podajesz w konfiguracji nazwy funkcji jakie mają wywołać się gdy sortowanie się zacznie, skończy, coś się zmieni ... one się wywołują :] i trafiają do Ciebie jakieś sane w parametrach, które Ty możesz zapisać w cookie, albo w bazie danych a do cookie przesłać jakiś ID użytkownika. |
|
|
|
13.07.2009 - 20:26
Post
#3
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
no ale w tym mozna tylko sortowac tzn góra dół
a ja chce miec 3 kontenery w do ktorych moge przesuwac elementy w razy z zapisaną pozycją i nazwą contenera |
|
|
|
13.07.2009 - 20:53
Post
#4
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
|
|
|
|
14.07.2009 - 16:33
Post
#5
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
znalazłem coś takiego
http://jqueryui.com/demos/sortable/#portlets chcę wykonać funkcje alert dla zdarzenia update oto mój kod: KOD <script type="text/javascript"> $(function() { $(".column").sortable({ connectWith: '.column' update: function(event, ui) { alert('kupa'); } }); $(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all") .find(".portlet-header") .addClass("ui-widget-header ui-corner-all") .prepend('<span class="ui-icon ui-icon-plusthick"></span>') .end() .find(".portlet-content"); $(".portlet-header .ui-icon").click(function() { $(this).toggleClass("ui-icon-minusthick"); $(this).parents(".portlet:first").find(".portlet-content").toggle(); }); $(".column").disableSelection(); }); </script> i po tym nie działa. w ogóle nie chcą się przenosić możesz mi napisać jak to poprawie zrobic? |
|
|
|
15.07.2009 - 07:49
Post
#6
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
znalazłem coś takiego http://jqueryui.com/demos/sortable/#portlets chcę wykonać funkcje alert dla zdarzenia update oto mój kod: KOD <script type="text/javascript"> $(function() { $(".column").sortable({ connectWith: '.column' update: function(event, ui) { alert('kupa'); } }); $(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all") .find(".portlet-header") .addClass("ui-widget-header ui-corner-all") .prepend('<span class="ui-icon ui-icon-plusthick"></span>') .end() .find(".portlet-content"); $(".portlet-header .ui-icon").click(function() { $(this).toggleClass("ui-icon-minusthick"); $(this).parents(".portlet:first").find(".portlet-content").toggle(); }); $(".column").disableSelection(); }); </script> i po tym nie działa. w ogóle nie chcą się przenosić możesz mi napisać jak to poprawie zrobic? 1. Podaj jakie błędy wywala firebug 2. Zobacz strukturę witryny http://www.gamma.zhr.pl/ - tam jest działający prototyp tego co potrzebujesz. |
|
|
|
15.07.2009 - 17:57
Post
#7
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
już sobie poradziłem
w JSON'ie zabrakło przecinka ale mam jeszcze jedno pytanie chciałbym, miec jakis wskaźnik w jakiejś zmiennej z nazwą kontenera, do ktorego przeciągnełą się element oraz zzmieną z pozycją np 1, 2, 3, 4, 5 jak to zrobic? |
|
|
|
15.07.2009 - 19:11
Post
#8
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
już sobie poradziłem w JSON'ie zabrakło przecinka ale mam jeszcze jedno pytanie chciałbym, miec jakis wskaźnik w jakiejś zmiennej z nazwą kontenera, do ktorego przeciągnełą się element oraz zzmieną z pozycją np 1, 2, 3, 4, 5 jak to zrobic? Masz KOD update: function(event, ui) { alert('kupa'); } A czy "ui" to nie jest jakiś uchwyt do User Interface (elementu) ? Zobacz co to - wrzuć w alerta, wyświetl sobie metody i może to Ci coś pomoże. |
|
|
|
15.07.2009 - 20:19
Post
#9
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
tak próbowałem, ale wyświetla, że to obiekt. nie zwtaca mi zadnej pozycji :/
|
|
|
|
15.07.2009 - 20:54
Post
#10
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
|
|
|
|
15.07.2009 - 21:38
Post
#11
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
teraz alert w ogóle się nie wyświetla
o co może w tym chodzić? kurde na innym forum podali mi żeby użyć metody parent() oraz index() jednak w dokumentacji ui jquery nic nie znalazłem na temat wykorzystania może ty coś wiesz? |
|
|
|
15.07.2009 - 21:43
Post
#12
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 31 Dołączył: 06.05.2009 Użytkownik nr: 495 |
Ogólnie taki d&d to bardzo prosta sprawa. Ogólnie sprowadza się to do tego, aby ustawić event naciśnięcia i przytrzymania przycisku myszy na danym obiekcie i następnie odświeżasz sobie, wraz ze zmianą pozycji myszki zmieniasz pozycję tego obiektu. I tyle.
Oczywiście sortable w jQuery to bardzo dobry wybór. Otrzymujemy gotowe narzędzie, które upraszcza pracę. Aczkolwiek bez znajomości mechanizmów działania czasami możemy mieć problem z zastosowaniem, dlatego uważam, że dobrze jest sobie przyswoić taką podstawową teorie działania. |
|
|
|
15.07.2009 - 22:09
Post
#13
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
no dobra, ale cały czas nie dostałem odpowiedzi na moje pytanie.
gdzie znajdę jakiś uchwyt pozycji, lub jak to wykonać? raczkuuje w tych sprawach, znam podstawy js oraz JSON |
|
|
|
16.07.2009 - 06:19
Post
#14
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
teraz alert w ogóle się nie wyświetla o co może w tym chodzić? kurde na innym forum podali mi żeby użyć metody parent() oraz index() jednak w dokumentacji ui jquery nic nie znalazłem na temat wykorzystania może ty coś wiesz? Bo metody posiada i jQuery jako nadbudówka i samo JavaScript też posiada metody. Te index() i parent() to właśnie metody czystej JS. Po prostu zalertuj ui.parent() ui.index() Ale ja nie qmam czemu nie podajesz błędów jaki JS wywala tylko tak w ciemno "nie działa". Weź Firefox zainstaluj FireBug. |
|
|
|
16.07.2009 - 08:58
Post
#15
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
zrobiłem to tak
KOD <script type="text/javascript"> $(function() { $(".column, .column2, .column_").sortable({ connectWith: '.column, .column2, .column_', stop: function(event, ui) { var index = $("div").index(this); alert(index); } }); $(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all") .find(".portlet-header") .addClass("ui-widget-header ui-corner-all") .prepend('<span class="ui-icon ui-icon-plusthick"></span>') .end() .find(".portlet-content"); $(".portlet-header .ui-icon").click(function() { $(this).toggleClass("ui-icon-minusthick"); $(this).parents(".portlet:first").find(".portlet-content").toggle(); }); $(".column").disableSelection(); }); </script> a tu link jak działa http://katmia.home.pl/public_html/sortowan...e/portlets.html rzekomo ma wyświetlać pozycję, jednak to troche źle działa. sam zobacz |
|
|
|
16.07.2009 - 19:18
Post
#16
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
U mnie to
KOD var firstColumnBar = String($('div#firstColumn').sortable('toArray')); var secondColumnBar = String($('div#secondColumn').sortable('toArray')); var thirdColumnBar = String($('div#thirdColumn').sortable('toArray')); po prostu generuje mi string z kolejnością boksów, które mogą odtworzyć. Ale nie wie czy to składnia jQuery czy Prototype (inna biblioteka, której równolegle używam). Chyba to drugie. Czy takie rozwiązanie Ci odpowiada ? |
|
|
|
20.07.2009 - 13:00
Post
#17
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
raczej nie, muszę wykorzystać to co mam.
kurde coś trzeba pokombinować z tym index() tylko jak? @edit macie propozycje? |
|
|
|
05.08.2009 - 07:14
Post
#18
|
|
![]() Entuzjasta ![]() ![]() ![]() ![]() Grupa: Moderators Postów: 543 Dołączył: 20.03.2009 Skąd: Włocławek Użytkownik nr: 427 |
|
|
|
|
10.08.2009 - 10:56
Post
#19
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
kiedy ja juz siedze na tym blisko 3 tyg i dalej nic
|
|
|
|
22.08.2009 - 12:35
Post
#20
|
|
|
Bywalec ![]() ![]() ![]() Grupa: Bywalec Postów: 110 Dołączył: 14.04.2009 Skąd: Świerzawa Użytkownik nr: 444 |
znalazłem teraz coś takiego
http://nettuts.s3.amazonaws.com/127_iNETTUTS/demo/index.html i chcę zrobic, aby po przeniesieniu zwracało mi jego pozycje próbowałem w zdarzeniu stop: zrobic z index() ale nie wychodzi mi nadal czy ktos mi pomoze? |
|
|
|
![]() ![]() |
| Wersja Lo-Fi | Aktualny czas: 24.05.2012 - 07:37 |