🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
4 messages
4 total messages Started by Michal M. Lechanski Thu, 01 Aug 2019 20:22
Co tu jest źle?
#52018
Author: Michal M. Lechanski
Date: Thu, 01 Aug 2019 20:22
62 lines
3082 bytes
Mam taki script w <body> (do head nie mam dostępu), który wyświetlał
losowo jeden z obrazków. Ostatnio dodawałem kolejny obrazek i coś
zepsułem - obrazki się nie wyświetlają. Poza tym wszystko inne działa.

Console z Developer Tools w Firefoksie pokazuje:

TypeError: document.getElementById(...) is null
    loadHomeImage http://lechanski.net/:155
    <anonymous> http://lechanski.net/:158

Podpowiedzcie proszę co zrobiłem źle i jak to naprawić.
Z góry bardzo dziękuję.


Kod:

<script type="text/javascript">
 function loadHomeImage(){
 console.log('loadHomeImage();');
 var imagenumber = 11 ;
 var randomnumber = Math.random() ;
 var rand1 = Math.round( (imagenumber-1) * randomnumber) + 1 ;
 images = new Array;
	
// LIST OF IMAGES
images[0] ='<img src="http://images.fluidfolio.com/x/y/zzz1.jpg">';
images[1] ='<img src="http://images.fluidfolio.com/x/y/zzz2.jpg">'
images[2] ='<img src="http://images.fluidfolio.com/x/y/zzz3.jpg">';
images[3] ='<img src="http://images.fluidfolio.com/x/y/zzz4.jpg">';
images[4] ='<img src="http://images.fluidfolio.com/x/y/zzz5.jpg">';
images[5] ='<img src="http://images.fluidfolio.com/x/y/zzz6.jpg">';
images[6] ='<img src="http://images.fluidfolio.com/x/y/zzz7.jpg">';
images[7] ='<img src="http://images.fluidfolio.com/x/y/zzz8.jpg">';
images[8] ='<img src="http://images.fluidfolio.com/x/y/zzz9.jpg">';
images[9] ='<img src="http://images.fluidfolio.com/x/y/zzz10.jpg">';
images[10] ='<img src="https://images.fluidfolio.com/x/y/zzz11.jpg">';
var image = images[rand1];
captions = new Array;

// LIST OF CAPTİONS
captions[0] = "Pictures: 01";
captions[1] = "Pictures: 02";
captions[2] = "Pictures: 03";
captions[3] = "Pictures: 04";
captions[4] = "Pictures: 05";
captions[5] = "Pictures: 06";
captions[6] = "Pictures: 07";
captions[7] = "Pictures: 08";
captions[8] = "Pictures: 09";
captions[9] = "Pictures: 10";
captions[10] = "Pictures: 11";
var caption = captions[rand1];
document.getElementById('homepage-image').innerHTML = '<img src="' +
image + '" width="auto" height="400px">' + caption;    //linia 155
   };

loadHomeImage();           //linia 158
</script>


-- 
Michał
Re: Co tu jest źle?
#52020
Author: Tomek
Date: Fri, 02 Aug 2019 07:25
37 lines
2001 bytes
W dniu 01.08.2019 o 22:22, Michal M. Lechanski pisze:
> Mam taki script w <body> (do head nie mam dostępu), który wyświetlał
> losowo jeden z obrazków. Ostatnio dodawałem kolejny obrazek i coś
> zepsułem - obrazki się nie wyświetlają. Poza tym wszystko inne działa.
> 
> Console z Developer Tools w Firefoksie pokazuje:
> 
> TypeError: document.getElementById(...) is null
>      loadHomeImage http://lechanski.net/:155
>      <anonymous> http://lechanski.net/:158
> 
> Podpowiedzcie proszę co zrobiłem źle i jak to naprawić.
> Z góry bardzo dziękuję.
> 
> 
> Kod:
> 
> <script type="text/javascript">
>   function loadHomeImage(){
>     document.getElementById('homepage-image').innerHTML = 'xxx';
>     };
> 
> loadHomeImage();
> </script>
> 
> 

Wywołujesz funkcję kiedy jeszcze nie istnieje (a raczej nie masz 
gwarancji, że istniej) "homepage-image".

W jQuery stosuje się formułkę, która rozwiązuje ten problem:

jQuery(document).ready(function() {

});

W internecie znajdziesz zamiennik tego w czystym JS.
Re: Co tu jest źle?
#52019
Author: zpksoft
Date: Fri, 02 Aug 2019 12:48
65 lines
3703 bytes
W dniu czwartek, 1 sierpnia 2019 22:22:09 UTC+2 użytkownik Michal M. Lechanski napisał:
> Mam taki script w <body> (do head nie mam dostępu), który wyświetlał
> losowo jeden z obrazków. Ostatnio dodawałem kolejny obrazek i coś
> zepsułem - obrazki się nie wyświetlają. Poza tym wszystko inne działa.
> 
> Console z Developer Tools w Firefoksie pokazuje:
> 
> TypeError: document.getElementById(...) is null
>     loadHomeImage http://lechanski.net/:155
>     <anonymous> http://lechanski.net/:158
> 
> Podpowiedzcie proszę co zrobiłem źle i jak to naprawić.
> Z góry bardzo dziękuję.
> 
> 
> Kod:
> 
> <script type="text/javascript">
>  function loadHomeImage(){
>  console.log('loadHomeImage();');
>  var imagenumber = 11 ;
>  var randomnumber = Math.random() ;
>  var rand1 = Math.round( (imagenumber-1) * randomnumber) + 1 ;
>  images = new Array;
> 	
> // LIST OF IMAGES
> images[0] ='<img src="http://images.fluidfolio.com/x/y/zzz1.jpg">';
> images[1] ='<img src="http://images.fluidfolio.com/x/y/zzz2.jpg">'
> images[2] ='<img src="http://images.fluidfolio.com/x/y/zzz3.jpg">';
> images[3] ='<img src="http://images.fluidfolio.com/x/y/zzz4.jpg">';
> images[4] ='<img src="http://images.fluidfolio.com/x/y/zzz5.jpg">';
> images[5] ='<img src="http://images.fluidfolio.com/x/y/zzz6.jpg">';
> images[6] ='<img src="http://images.fluidfolio.com/x/y/zzz7.jpg">';
> images[7] ='<img src="http://images.fluidfolio.com/x/y/zzz8.jpg">';
> images[8] ='<img src="http://images.fluidfolio.com/x/y/zzz9.jpg">';
> images[9] ='<img src="http://images.fluidfolio.com/x/y/zzz10.jpg">';
> images[10] ='<img src="https://images.fluidfolio.com/x/y/zzz11.jpg">';
> var image = images[rand1];
> captions = new Array;
> 
> // LIST OF CAPTİONS
> captions[0] = "Pictures: 01";
> captions[1] = "Pictures: 02";
> captions[2] = "Pictures: 03";
> captions[3] = "Pictures: 04";
> captions[4] = "Pictures: 05";
> captions[5] = "Pictures: 06";
> captions[6] = "Pictures: 07";
> captions[7] = "Pictures: 08";
> captions[8] = "Pictures: 09";
> captions[9] = "Pictures: 10";
> captions[10] = "Pictures: 11";
> var caption = captions[rand1];
> document.getElementById('homepage-image').innerHTML = '<img src="' +
> image + '" width="auto" height="400px">' + caption;    //linia 155
>    };
> 
> loadHomeImage();           //linia 158
> </script>
> 
> 
> -- 
> Michał

onload()
Re: Co tu jest źle?
#52021
Author: Michal M. Lechanski
Date: Sat, 03 Aug 2019 08:46
8 lines
1058 bytes
W dniu 01.08.2019 o 21:22, Michal M. Lechanski pisze:

> [...]

Dziękuję bardzo za obie odpowiedzi.

-- 
Michał
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads