2009-10-07 19 views
6

Mam bardzo prosty wymóg. Mam dwa div. Div1 z linkiem i Div2 zawiera trochę tekstu.Utwórz prosty modalny popup

Po kliknięciu linku w Div1, chcę wyświetlić Div2 jako proste modalne okienko popup z szarym tłem i przyciskiem zamknięcia.

Czy można to zrobić bez korzystania z zewnętrznych wtyczek?

Jeśli nie, to sprawdziłem wtyczkę na jqueryui. Istnieje jednak wiele plików jquery i css wymienionych w tym przykładzie, że nie wiem, co wziąć i co zostawić.

Odpowiedz

4

Z pewnością jest to możliwe bez wtyczek, ale może się to okazać bardzo poważne.
Ja sam użyłem implementacji okien modalnych "domowych" w czystym javascript.
Zaufaj mi - to nie jest dobry pomysł. Nawet z jQuery (nie mylić z jQuery UI).

Polecam Ci 'SimpleModal' plugin przez Eric Martin (on również jest na StackOverflow i przynajmniej próbował odpowiedzieć na każde pytanie związane z jego produktem).
Podoba mi się to API i działa jak czar.

+0

Jak mogę używać tej wtyczki tutaj - http://jqueryui.com/demos/dialog/#modal Co css lub jquery pliki odwołać – Hitz

+0

Podczas sprawdzania wtyczek jQuery, zawsze sprawdź samouczek . Jeśli to nie pomoże - sprawdź stronę źródła strony demonstracyjnej.Zwykle uderza w gwóźdź. –

1

Nie, w jQuery nie ma wbudowanej funkcji okna modalnego. Możesz włączyć jQuery, aby przetasować własne okna modalne, ale w takim przypadku prawdopodobnie nie zadałbyś tego pytania. Po prostu zainstaluj wtyczkę innej firmy.

0

Można to zrobić bez żadnych wtyczek, ale najtrudniejszą częścią, której prawdopodobnie będziesz chciał uniknąć, jest modułowość.

Jeśli chcesz, aby okno dialogowe przesuwało się po kliknięciu i przeciągnięciu, musisz ustawić pozycję tego elementu div na podstawie pozycji myszy, co może być dość gwałtowne. stąd opcje jqueryui.

Zgadzam się, CSS wystarcza, aby czasem dusić.

Aha, i tak to zostało powiedziane, można uzyskać doskonały szare pole za pomocą jednego przycisku, który będzie morph celu dopasowania interfejsu żadnego przeglądarki: alert()

4

pierwsze, dzięki za zaleceniem SimpleModal @Arnis L.

Po drugie, istnieje powód, dla którego istnieje tak wiele wtyczek modal/lightbox. Istnieje wiele czynników, które należy wziąć pod uwagę, aby stworzyć coś, co jest kompatybilne z różnymi przeglądarkami. Robiąc to, co chcesz bez zewnętrznych wtyczek jest możliwe, ale aby zrobić to dobrze, zajmie to dużo kodu.

Więc poprosił o pomoc, aby utworzyć prosty modal ... dlaczego nie spróbować SimpleModal;)

Możesz pobrać każdy z przykładów, aby zacząć grę. Wszystko, co musisz zrobić, to dołączyć prosty plik .js do swojej strony i dodać kilka stylów i jest gotowy do pracy.

http://www.ericmmartin.com/projects/simplemodal-demos/