Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ładowanie obrazka
Rastman
post
Post #1





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 6.06.2004

Ostrzeżenie: (20%)
X----


Mam proste pytanko. Na stronce będę miał jeden większy obrazek JPG. Chciałbym ,żeby obrazek ładował się na końcu i podczas ładowania wyświetlił się np:napis "ładowanie grafiki". Nie znam za bardzo JS. Jakies podpowiedz?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
revyag
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Możesz użyć xmlHTTPRequest. Obrazek wsadzasz do innego pliku np. img.html
  1. <img src="obrazek.jpg" />

W pliku index.html załatwiasz resztę:
Kod
<script type="text/javascript">
function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

function loadImg(){
    var xmlhttp = getHTTPObject();
    var area = document.getElementById("obrazek");
    
    area.innerHTML = "<p>Ladowanie obrazka.....</p>";
    xmlhttp.open("GET","img.html");
    
    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
            area.innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.send(null);
}
</script>

  1. <div id="obrazek">
  2.  
  3. </div>
  4. <script type="text/javascript">loadImg()</script>

Minus tego rozwiązania jest taki że jak ktoś ma js wyłączone to będzie problem snitch.gif


--------------------
-------------

------
Go to the top of the page
+Quote Post
Rastman
post
Post #3





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 6.06.2004

Ostrzeżenie: (20%)
X----


dzięki, jeszcze tylko przetrawię kod i mogę sie brać do roboty


--------------------
Go to the top of the page
+Quote Post
Zajec
post
Post #4





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Cytat(revyag @ 2005-05-25 11:07:34)
Minus tego rozwiązania jest taki że jak ktoś ma js wyłączone to będzie problem snitch.gif

A to nie opiera się przypadkiem o wtyczkę ActiveX?
Go to the top of the page
+Quote Post
FiDO
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Mnie sie wydaje, ze Ajax to armata na mrowke w tym przypadku... przekombinowanie.. Mozna to przeciez zrobic prosciej:
  1. <?xml version="1.0" encoding="iso-8859-2" ?>
  2. <!doctype html public "-//W3C//DTD XHTML 1.1//EN"
  3. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  6. <script language="JavaScript" type="text/javascript">
  7. <!--
  8.  
  9. var img_src = "test.jpg";
  10.  
  11. function loadImg(target)
  12. {
  13. var img = new Image();
  14.  
  15. img.onload = function(e) {
  16. var im = document.createElement('IMG');
  17. var obj= document.getElementById(target);
  18. im.src = this.src;
  19. obj.innerHTML = '';
  20. obj.appendChild(im);
  21. }
  22. img.src = img_src;
  23. }
  24. //-->
  25. </script>
  26. </head>
  27. <body onload="loadImg('obrazek');">
  28.  
  29. <div id="obrazek">
  30. Trwa ładowanie <strong>obrazka</strong>, proszę czekać...
  31. </div>
  32.  
  33. </body>
  34. </html>


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Rastman
post
Post #6





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 6.06.2004

Ostrzeżenie: (20%)
X----


no właśnie to będzie tylko jeden obrazek


--------------------
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 Aktualny czas: 20.08.2025 - 10:10