Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX] IE - skaczący pasek przwijania, Problem z okresleniem wysokosci strony przez przegladarke
gaza
post 4.10.2006, 10:51:55
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 22.06.2003

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


Witam.
Mam problem z IE.
Przy pomocy advAJAX sciagam dane i wstawiam do DIVa

  1. function insertData(id, pref)
  2. {
  3. ref_div = document.getElementById(id);
  4. ref_ico = document.getElementById('ico' + id);
  5.  
  6. advAJAX.get({url: "name_list.php?litera = pref,
  7. onInitialization : function(obj) {parent.showProgressBar();},
  8. onSuccess: function(obj) {ref_div.innerHTML = obj.responseText},
  9. onFinalization : function(obj) {if(parent.IE){find('cfxz'); find(pref + ' (');};
  10. ref_div.style.display='block';
  11. ref_ico.src="icons/rozwiniete.png";
  12. parent.hideProgressBar();}
  13. });
  14. }//end function



Wszystko dziala poprawnie pod Mozilka 1.5.0.2
Problem pojawia sie jednak na IE w wersji 5.5 i 6.

Przejawia sie to tym ,ze pasek przewijania strony "drzy". Niby cos tam sie dzieje , ale nie moge przesunac paskiem strony do samego dolu.
Jednak gdy zastosuje "cwancyk" w postaci wyszukiwania tresci i szukam ostatniej pozycji na liscie , to strona przewija sie wlasnie do tej pozycji i wszystko jest juz w porzadku.
Dodam jeszcze ze problem jest wtedy gdy do DIVa zaladuje ponda 300 elementow ( moze ich byc nawet 5000).

Wyglada na to ,ze IE ma problem z okresleniem wysokosci dokumentu.

Czy jest to normalne ? Czy moze mozna temu jakos zaradzic ?
A moze inaczej powinienem budowac zawartosc DIVa ?

Ten post edytował gaza 27.11.2006, 09:12:33


--------------------
pozdrawiam
Gaza
Apache 2.0.52 PHP 5.0.2 MySQL 3.23.58 phpMyAdmin 2.5.4
Go to the top of the page
+Quote Post
jarrod
post 14.10.2006, 19:56:08
Post #2





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


Cięzko powiedzieć co sie dzieje... U mnie na IE 7 działa, na drugim kompie na IE 6 też działa.
Przerobiłem ten skrypt. Może będzie lepiej działać..

  1. function insertData(id, data)
  2. {
  3. ref_div = document.getElementById(id);
  4. var html = "";
  5. while(data.length > 1 )
  6. {
  7.  
  8. flag = data.indexOf("\n");
  9. if(flag != -1)
  10. {
  11. part = data.substring(0, flag)
  12. data = data.substring(flag + 1);
  13. }
  14. else
  15. {
  16. part = data;
  17. data = '';
  18. }
  19. html += '<a href="twoj_link">'+ part.substr(0,9) + '</a><br/>';
  20. }//end while
  21. ref_div.innerHTML = html;
  22.  
  23. document.getElementById('id_div).style.display = 'block'
  24.  
  25. }//end function


Spróbuj umieścić div-a w którego umieszczasz text w div-ie o pozycjonowaniu relatywnym. Czasami to pomaga na wiele bolączek winksmiley.jpg
Go to the top of the page
+Quote Post
gaza
post 17.10.2006, 13:36:43
Post #3





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 22.06.2003

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


Dzieki za podpowiedz, niestety nie dziala.

Ktos zasugerowal mi ze problem jest tego rodzaju ,ze IE po dodaniu kolejnych elementow, ma problem z okresleniem dlugosci strony. I w zwiazku z tym rozwiazanie z szukaniem ostatniego elementu na stronie niejako informuje IE o tym gdzie ona sie konczy.

Zatem w tym przypadku trzeba gdzies tam na samym koncu strony wstawic tekst w kolorze strony. Nastepnie podczas uzupelniania kolejnych blokow z elementami, w tle wyszukiwac ten "ukryty" element i nastepnie, jezeli to konieczne, prechodzic do poczatku strony.

Narazie zajalem sie inna czescia projektu, ale jak wroce do tematu , to napisze o efektach tego rozwiazania.


--------------------
pozdrawiam
Gaza
Apache 2.0.52 PHP 5.0.2 MySQL 3.23.58 phpMyAdmin 2.5.4
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 14:30