Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jScrollPane - scrollowanie zawartości diva
Papub
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

Ostrzeżenie: (0%)
-----


Witam. Męczę się z pewnym problemem a mianowicie. Tekst w divie mogę scrollować gdy jest od zapisany na sztywno w ciele dokumentu. Natomiast ja chcę scrollować zawartość diva (#content5) która jest odpowiedzią z pliku php. I to przewiajanie mi nie chodzi. Pozdrawiam

  1. $.post("news.php", {news_title: naz}, function(data){
  2. if(data.length >0) {
  3. poprzedni = "5";
  4. $("#content5").html(data);
  5. $("#content5").fadeIn(200);
  6. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


1. Nie widzę w Twoim kodzie żadnej funkcji odpowiedzialnej za scroll-owanie
2. widzę, że korzystać z jQuery,czyli powinieneś użyć: http://api.jquery.com/scrollTop/
3. Oczywiście musisz wykonać tą funkcję po: $("#content5").html(data);

Pozdrawiam
Go to the top of the page
+Quote Post
Papub
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

Ostrzeżenie: (0%)
-----


Jak w tytule tematu korzystam z pluginu jScrollPane. Sam skrypt przewijania nic tu nie wnosi wiec go nie umieściłem. Skrypt przewija ale tylko wtedy gdy w content5 wpisze na sztywno tekst a nie gdy ten sam tekst zostanie przesłany z pliku news.php
Go to the top of the page
+Quote Post
chomiczek
post
Post #4





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

Ostrzeżenie: (0%)
-----


@Papub ja na Twoim miejscu przed:
Kod
if(data.length >0) {
dał
Kod
alert(data)
w ten sposób sprawdzisz czy aby na pewno zwracane masz dane przez plik.
Dla pewności w firebugu podglądnij sobie czy aby na pewno szukany plik istnieje.

Czy zmienna 'naz' ma jakąś wartość?
Dla pewności w pliku news.php
daj na początku
Kod
<?PHP
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>


nie wiem czy zamieszczony kod JS jest kompletny czy obciąłeś go przypadkowo, ale cały kod powinien wyglądać tak:
Kod
$.post("news.php", { news_title: naz }, function(data){
     if(data.length >0) {
            poprzedni = "5";
            $("#content5").html(data);
            $("#content5").fadeIn(200);
     }
});

Go to the top of the page
+Quote Post
arecki
post
Post #5





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

Ostrzeżenie: (0%)
-----


Cytat(Papub @ 4.08.2010, 17:19:44 ) *
Jak w tytule tematu korzystam z pluginu jScrollPane. Sam skrypt przewijania nic tu nie wnosi wiec go nie umieściłem. Skrypt przewija ale tylko wtedy gdy w content5 wpisze na sztywno tekst a nie gdy ten sam tekst zostanie przesłany z pliku news.php

Pewnie dlatego że skrypt się uruchamia przed wczytaniem zawartości i wg. niego nie trzeba tej zawartości przewijać. Podepnij uruchamianie skryptu jscrollpane na zdarzenie onload diva do którego dodajesz kod i możliwe że zadziała.
Go to the top of the page
+Quote Post
Papub
post
Post #6





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 17.02.2006

Ostrzeżenie: (0%)
-----


Witam.
No Pan arecki miał trochę racji. Implementację scrollwania przeniosłem pod komendę wpisywania zawartości diva a z początku ta implementacja była w sekcji head.
Teraz to wygląda tak:

  1. $("#content4 a").click(function() {
  2. $("#content4").fadeOut(200);
  3. naz = $(this).attr('id');
  4. document.getElementById('content_loading').style.display = "block";
  5. $.post("news.php", {news_title: naz}, function(data){
  6. if(data.length >0) {
  7. poprzedni = "5";
  8. $("#content5").html(data);
  9. $("#content5").fadeIn(200);
  10. $(function()
  11. {
  12. document.getElementById('content_loading').style.display = "none";
  13. $('#content5').jScrollPane({scrollbarWidth: 17});
  14. });
  15. }
  16. });
  17. });


Temat rozwiązany. Dzięki za pomoc. Pozdrowionka
Go to the top of the page
+Quote Post
krzysiek_sw
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 7.08.2010

Ostrzeżenie: (0%)
-----


Jeszcze tak na marginesie, można zastosować odpowiednie ostylowanie CSS div'a i dać na sztywno jakiś konkretny rozmiar, będzie podobny efekt jak w JQuery... Oczywiście treść do niego musi być ładowana AJAX'em, tego nie da się przeskoczyć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 15:19