Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery]popUp i popOut
Forum PHP.pl > Forum > Po stronie przeglądarki
general
Bez Waszej pomocy chyba sobie z tym nie poradzę i nie zrozumiem działania tego mechanizmu.

1. Za pomocą metody click() i DIV-a pięknie wyskakuje mi okienko (popUp) - i git.
2. W okienku umieszczam przycisk [ZAMKNIJ] - bo oczywiście chcę potem takiego popUp'a zamknąć.
No i powiedzcie mi, co robię źle

Ustawiam klasę .closeBox, daję mu [przyciskowi ZAMKNIJ] metodę click() z argumentem ...
właśnie, jakim: .remove() czy jakimś innym?
Próbowałem różnych sposobów, ale problem był taki sam: ten popUp jakby w ogóle nie reagował na jquery

Np.
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2. <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
  3. <script src="jquery/1.10.1/jquery.min.js"></script>
  4. <script type="text/javascript">
  5. $(function() {
  6. $('a#openBox').click(function(e) {
  7. e.preventDefault();
  8. $('#guru_box').load('guru.php').css("display","block"); // Wyświetla mi pięknie zawartość pliku 'guru.php' z przyciskiem [Zamknij]
  9. var allHeadings = $('div'); // w celu sprawdzenia czy działa jquery
  10. alert( allHeadings.length ); // alert wyskakuje - to działa!
  11. });
  12.  
  13. // Close popUp
  14. $('a.closeBox').live('click', function() { // <a class="closeBox" href="#">Zamknij</a>
  15. var allHeadings = $('div'); // w celu sprawdzenia czy działa jquery
  16. alert( allHeadings.length ); // klikam na [Zamknij] i alert nie wyskakuje, i nic się nie dzieje (poza dodaniem '#' w pasku adresu)
  17. });
  18. });
  19. </script>
  20. </head>


Proszę, pomocy! Jak to się robi
styryl
Jak rozumiem Twoim popupem jest div o id: #guru_box tym dajesz my "widoczność": .css("display","block");, więc w zależności co chcesz zrobić:
1. "schować okienko":

  1. $('#guru_box').hide();


2. Usunąć:

  1. $('#guru_box').remove();
b4rt3kk
Używasz jQuery w wersji 1.10 a live nie działa od 1.7. Także zastosuj on() lub zmień wersję jQuery na starszą.
general
Zastosowałem
  1. $('#guru_box').hide();
ale ten sam problem pozostał.

- popUp #guru_box jakby zupełnie nie widział głównego pliku "sects.php", do ktorego jest loadowany "guru.php" za pomocą $('#guru_box').load('guru.php')

Czego też nie rozumiem, to dlaczego plik "sects.php" widzi dołączaną klasę "dbconnect", ale już plik, który ładuje się do popUp'a #guru_box tej klasy nie widzi. Muszę osobno dołączyć klasę "dbconnect" w pliku "guru.php". Dlaczego to tak działa?

Może to ma jakieś znaczenie:
header.php - require_once('db_connect.php')
sects.php - require_once('header.php')
sects.php - jquery load('guru.php')

bez dołączonej klasy 'db_connect' do pliku 'guru.php' wyskakuje mi błąd połaczenia z bazą.

Czy ktoś wie, dlaczego popUp #guru_box (z załączonym 'guru.php') nie widzi nagłówka (head) i w ogóle "body" pliku "sects.php" ?
b4rt3kk
A zmieniłeś live() na on()? Tak jak pisałem w jQuery 1.10 live() już nie działa...
general
Cytat(b4rt3kk @ 17.07.2013, 23:15:35 ) *
A zmieniłeś live() na on()? Tak jak pisałem w jQuery 1.10 live() już nie działa...

Oczywiście, zmieniłem.
Problem - jak już zaznaczałem - tkwi raczej w tym, że "sects.php" nie widzi popUp'a - albo raczej popUp nie pobiera informacji z "sects.php" (albo może jeszcze jakiś inny powód tego, że poniższy kod w popUp nie działa). Nie wiem, co jest grane...

  1. $('a.closeBoxGuru').on('click', function(event) { //When clicking on the close...
  2. event.preventDefault();
  3. $('#guru_box').hide();
  4. });
b4rt3kk
No to nie dołączasz w pliku guru.php znów danych do połączenia, itp? Przecież to jest osobne okienko, to nie jest strukturalna część kodu. W pop-up musisz od nowa wszystko dołączać, inaczej nie ma szans żeby działało.
general
Ale przecież okienko (popUp) jest tworzony w oparciu o "DIV" - na warstwie: <div id="guru_box"><!-- Guru --></div>. Więc nie jest osobnym okienkiem, ani żadnym "iframe'm". Ta warstwa jest integralną częścią kodu pliku "sects.php", tworzoną za pomocą jquery.

Przepraszam, zauważyłem, że jednak mój popUp "guru_box" z dołączonym "guru.php" widzi style css dołączone do pliku "sects.php", bo w oparciu o nie i o jquery "wyskakuje" okienko.

Tak, że nie wiem, co jest grane, co zrobiłem nie tak, że w warstwie popUp'a przestaje działać kod jquery?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.