Fusion de deux codes Javascript

Fermé
Noubie - 26 août 2009 à 19:16
 Noubie - 27 août 2009 à 10:20
Bonjour, tout d'abord petite précision : je ne connais pas le Javascript. :)
Mais j'aimerais m'en servir pour faire un chti truc sympathique pour mon site : durant le preload de tous les éléments de mon site je voudrais qu'il y ait un div qui cache le reste du site puis qui s'efface progressivement pour pas que le passage soit trop brutal.

Donc, j'ai récupéré deux codes - qui fonctionnent séparément - qui devraient me permettre de faire ce que je veux, mais j'ai un peu de mal à les synthétiser en un seul code :

* le premier rends invisible un div lorsque tous les éléments de la page sont chargés :

var nava = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
if (nava) { cach = document.cache }
else if (dom) { cach = document.getElementById("cache").style }
else if (iex) { cach = cache.style }
largeur = screen.width;
cach.left = Math.round((largeur/2)-200);
cach.visibility = "visible";

function cacheOff()
	{
	cach.visibility = "hidden";
	}
window.onload = cacheOff



* le deuxième fait disparaitre progressivement le contenu d'un div lorsque l'on clique sur un bouton.

var opacite = 100;
function cacheDiv()
{
  var obj = document.getElementById("cache");
  opacite--;
  
  if (obj.style.filter) // IE
  {
    obj.style.filter = "alpha(opacity=" + opacite + ")";
  }
  else
  {
    if (obj.style.MozOpacity) //FF
    {
      obj.style.MozOpacity = opacite/100;
    }
    else
    {
      if (obj.style.opacity)  // FF et Opera (?)
      {
        obj.style.opacity = opacite/100;
      }
      else
      {
        if (obj.style.KhtmlOpacity) //Konqueror (Linux), Safari(MacOS)
        {
          obj.style.KhtmlOpacity = opacite/100;
        }
      }
    }
  }
  
  if (opacite<100)
    setTimeout("cacheDiv()","20"); 
}


J'ai bien essayé de faire :


function cacheOff()
	{
	cacheDiv();
	}


à la place de :


function cacheOff()
	{
	cach.visibility = "hidden";
	}


Mais ca marche pas.

J'vous met aussi le code CSS appliquée à la div "cache" au cas où :

#cache {
    position : absolute; top : 200px; left : 200px; width : 800px; height : 600px; z-index: 2; background-color : black; text-align : center;
    -moz-opacity : 1; filter : alpha(opacity=1); opacity : 1;
}


Voilà voilà. Merci d'avance pour votre aide ! :)

___________________________________________________________________________________
Le premier code a été trouvé ici : http://www.editeurjavascript.com/scripts/scripts_autres_1_141.php
et le second là : http://www.developpez.net/forums/d5693 [...] on-div-fondu/
A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 août 2009 à 19:43
Essayes:

function cacheOff()
	{
	cach.visibility = "hidden";
        cacheDiv();

	}
window.onload = cacheOff
0
Ca marche pas. A la fin du preload le div disparait d'un coup.

Mais merci pour ta proposition. Une autre idée? :)
0
Up, sviouplait. :'(
0