Preloader petits problèmes

thepopol777
Messages postés
71
Date d'inscription
jeudi 27 janvier 2011
Statut
Membre
Dernière intervention
18 mars 2022
- 11 févr. 2010 à 17:12
thepopol777
Messages postés
71
Date d'inscription
jeudi 27 janvier 2011
Statut
Membre
Dernière intervention
18 mars 2022
- 11 févr. 2010 à 18:30
Bonjour!

Alors j'ai un petit soucis avec un preloader javascript. En effet, j'utilise un div ( via css ) avec un background-image qui contient le loader et la barre de chargement. tout fonctionne bien sauf que le loader met du temps a apparaitre sur la page. J'ai donc fait un preloader de l'image du background, me disant que si elle était chargée elle apparaitrait directement sur la page suivante ( qui est le vrai loader vous me suivez? :p )...

Bon tout ceci est un peu flou, voici le code, si vous ne comprennez pas quelque chose je serais ravi de répondre a vos questions.

Merci ;)












<script> // JavaScript Document
var time = 1; // temps en seconde apres lequel la bar de chargement disparait une fois finie
    
    var maxtime = 120; // temps maximum apres lequel la bar de chargement disparait
  
        /* PAs touche */
        var done = 1;
        time = time * 1000;
        maxtime = maxtime * 1000;
        loaded = new Array();
  
        function Pre_load()
        {
            for( index = 0; index < document.images.length; index++ )
            {
                loaded[ index ] = false;
            }
        }
  
  
    window.setTimeout( "document.getElementById('loadimages').style.visibility='hidden';", maxtime );
        
    function Preload_Img()
    {
        imgs = document.images;
  
            for( index = 0; index < imgs.length; index++ )
            {    
                if( done >= imgs.length )
                {
                    break;
                }
                    else if( imgs[ index ].complete && loaded[ index ] == false )
                {
                    done++;
                    loaded[ index ] = true;
                }
            }
            
            if( done >= imgs.length )
            {
                window.setTimeout( "document.getElementById('loadimages').style.visibility='hidden';", time );
            }
                else
            {
                window.setTimeout( "Preload_Img()", '58' );
            }

 
            if( done == imgs.length )
            {
                window.setTimeout( "window.location.href='intro.html';", time);
            }
  
        PRC = Math.round( ( ( done / imgs.length ) * 100 ) );
barwidth = PRC * 2.13 ;
          
        preview = 

''
+'
'+'
'
+ '                 '+ PRC + ' ' + '%'

        document.getElementById('preloader').innerHTML = preview;
    }
    
    Pre_load();
    Preload_Img();

</script>



Copyright©2010 CSTM
Km 4,5 Route de Rufisque
(+221) 33 859 52 00













































4 réponses

thepopol777
Messages postés
71
Date d'inscription
jeudi 27 janvier 2011
Statut
Membre
Dernière intervention
18 mars 2022

11 févr. 2010 à 17:26
je rajoute qu'en local, le pourcentage met "infinity" et ne bascule pas sur la page suivante (intro.html). Pourtant en ligne cela fonctionne bien. Si ça peut aider...
0
thepopol777
Messages postés
71
Date d'inscription
jeudi 27 janvier 2011
Statut
Membre
Dernière intervention
18 mars 2022

11 févr. 2010 à 17:40
( arf un 3e post, pas de commende éditer dommage )

Je viens de tester, et en fait sous Firefox ça marche ( mais quand même long a apparaitre ) tandis que sous IE ça attend carrément 100% pour que quelquechose daigne apparaitre :/
0
pegase31
Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
11
11 févr. 2010 à 18:24
Ceci est un code javascript, donc aucun rapport avec Flash/ActionScript.

Je déplace en section concernée.

Peg'
Admin Codes-Sources
0
thepopol777
Messages postés
71
Date d'inscription
jeudi 27 janvier 2011
Statut
Membre
Dernière intervention
18 mars 2022

11 févr. 2010 à 18:30
Dans le code javascript, j'ai rajouté type="text/javascript" que j'avais oublié, du coup, maintenant même online j'ai Infinity à la place du pourcentage et ça ne bouge pas.
0