Salut voila j'ai une petit probleme j'ai recupere un code sur dhteumeuleu.com qui foonctionne tres bien sur tout les navigateurs sauf que lorsque je l'utilise a ma sauce le diaporama ne s'affiche que sur IE Opera mais pas sur FF Mozilla NetS. Est ce que quelqu'un aurait une solution? car je galere bien.
Mon code est ci-dessous:
<html>
<head>
<title></title>
<meta name="Author" content="Gerard Ferrandez at http://www.dhteumeuleu.com">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.conteneur
{
position:absolute;
left: 50%;
top: 50%;
width: 794px;
height: 567px;
margin-top: -283.5px;
margin-left: -397px;
border: 1px solid #000;
}
.haut {
height:85px;
width: 100%;
}
.bas {
width: auto;
height: 95px;
}
.frame {
height: 393px;
width: 794px;
overflow:hidden;
}
</style>
<script type="text/javascript">
window.onerror = new Function("return true");
screen.bufferDepth = 16;
document.onselectstart = function () { return false; }
////////////////////////////
var NX = 3;
var NY = 3;
var SP = 20;
var DELAY = 100;
////////////////////////////
var object = new Array();
var nI = 0;
var run = false;
var xrun = 0;
var dR = 1;
var iW = 0;
var iH = 0;
var oH = 0;
var oW = 0;
function CObj(N,y,x)
{
//alert('fonction Cobj');
this.obj = document.createElement("span");
this.obj.onclick = new Function("object["+N+"].GE1()");
this.obj.onmousedown = new Function("return false;");
this.obj.style.cursor = "pointer";
this.obj.style.position = "absolute";
this.img = document.createElement("img");
this.img.style.position = "absolute";
this.img.src = IMGSRC[N%nI].src;
this.obj.appendChild(this.img);
IMGBOX.appendChild(this.obj);
this.object = new Array();
this.x = x;
this.y = y;
this.N = N;
this.W = 0;
this.H = 0;
this.L = 0;
this.T = 0;
function CImg(Parent,y,x)
{
//alert('fonction CImg');
this.Parent = Parent;
this.obj = document.createElement("span");
this.obj.style.position="absolute";
this.obj.style.overflow="hidden";
this.obj.style.cursor = "pointer";
this.img = document.createElement("img");
this.img.style.position = "absolute";
this.img.src = IMGSRC[N%nI].src;
this.obj.appendChild(this.img);
this.Parent.obj.appendChild(this.obj);
this.N = Parent.N;
this.x = x;
this.y = y;
this.W = 0;
this.H = 0;
this.L = 0;
this.T = 0;
this.dx = 0;
this.dy = 0;
this.px = 0;
this.py = 0;
this.dw = 0;
this.dh = 0;
this.pw = 0;
this.ph = 0;
this.ipx = 0;
this.ipy = 0;
this.idx = 0;
this.idy = 0;
this.GE2 = function ()
{
//alert('GE2');
with(this)
{
px -= dx * dR;
py -= dy * dR;
pw += dw * dR;
ph += dh * dR;
ipx -= idx * dR;
ipy -= idy * dR;
with(obj.style)
{
//alert('obj.style');
left = Math.round(px);
top = Math.round(py);
width = Math.round(pw)+1;
height = Math.round(ph)+1;
if(dR==-1)if(pw<=W+1)obj.style.visibility="hidden";
}
with(img.style)
{
//alert('img.style');
left = Math.round(ipx-oW);
top = Math.round(ipy-oH);
}
if(++xrun>=NX*NY*SP)
{
xrun=0;
run=false;
if(dR==-1)Parent.obj.style.zIndex = 0;
dR = -dR;
}
}
}
this.GE1 = function (N1,N2)
{
//alert('GE1');
with(this)
{
if(dR==1)
{
px = L;
py = T;
dx = ((Parent.L + L) - (x * Parent.W)) / SP;
dy = ((Parent.T + T) - (y * Parent.H)) / SP;
pw = W;
ph = H;
dw = (Parent.W - W) / SP;
dh = (Parent.H - H) / SP;
ipx = -L;
ipy = -T;
idx = ((x * Parent.W) - L) / SP;
idy = ((y * Parent.H) - T) / SP;
}
obj.style.visibility="visible";
if(img.height>document.body.offsetHeight)oH=(img.height-document.body.offsetHeight)/2; else oH = 0;
if(img.width>document.body.offsetWidth/2)oW=(img.width-(document.body.offsetWidth/2))/2; else oW = 0;
for(i=0;i<SP;i++) setTimeout("object["+N1+"].object["+N2+"].GE2()",16*i);
}
}
this.DOOT = function ()
{
//alert('DOOT');
with(this)
{
W = Parent.W / NX;
H = Parent.H / NY;
L = x * W;
T = y * H;
}
}
}
var k = 0;
for(var i=0;i<NY;i++)
for(var j=0;j<NX;j++)
this.object[k++] = new CImg(this,i,j);
this.GE1 = function ()
{
with(this)
{
if(!run)
{
TXTBOX.innerHTML = "<div style='margin:2%'>"+TXTSRC[N%nI].innerHTML+"</div>";
run = true;
obj.style.zIndex = 1;
for(var i=0;i<NX*NY;i++) setTimeout("object["+N+"].object["+i+"].GE1("+N+","+i+")",i*DELAY);
}
}
}
this.DOOT = function ()
{
with(this)
{
if(img.width<iW)iW=img.width;
if(img.height<iH)iH=img.height;
with(obj.style)
{
W = width = iW / NX;
H = height = iH / NY;
L = left = x * W;
T = top = y * H;
}
with(img.style)
{
width = W;
height = H;
}
for(var i in object) object.DOOT();
}
}
}
onload = function()
{
IMGSRC = document.getElementById("imgsrc").getElementsByTagName("img");
TXTSRC = document.getElementById("txtsrc").getElementsByTagName("div");
IMGBOX = document.getElementById("imgbox");
TXTBOX = document.getElementById("txtbox");
CENTER = document.getElementById("center");
iH = document.body.offsetHeight;
iW = document.body.offsetWidth/2;
nI = IMGSRC.length;
var k = 0;
for(var i=0;i<NY;i++)
{
for(var j=0;j<NX;j++)
{
object[k] = new CObj(k,i,j);
object[k++].DOOT();
}
}
IMGBOX.style.width = iW;
IMGBOX.style.height = iH;
TXTBOX.style.width = iW;
TXTBOX.style.height = iH;
TXTBOX.style.left = iW;
TXTBOX.style.visibility="visible";
CENTER.style.left = -iW;
CENTER.style.top = -iH/2;
}
//-->
</script>
</head>
<body>
<div class="conteneur">
<div class="frame" >
<div id="center" style="position:absolute;">
<div id="imgbox" style="position:absolute;left:0;top:0;overflow:hidden;">
</div>
<div id="txtbox" style="position:absolute;visibility:visible;overflow:hidden;background-color:#333;color:#FFF;font-family:verdana;font-size:0.8em;">
<div style="margin:2%">
</div>
</div>
</div></div>
<div id="imgsrc" style="visibility:hidden; position:absolute">
<img alt="" src="BS9097.jpg">
<img alt="" src="BS9092.jpg">
<img alt="" src="BS9084.jpg">
<img alt="" src="BS9064.jpg">
<img alt="" src="BS9050.jpg">
<img alt="" src="BS9070.jpg">
<img alt="" src="BS9079.jpg">
<img alt="" src="BS9068.jpg">
<img alt="" src="BS9039.jpg">
</div>
<div id="txtsrc" style="visibility:hidden">
<div>
<h2>the river</h2><br>Awaken from my nap by the river
</div>
<div>
<h2>transparency</h2><br>Its transparency was hypnotizing.
</div>
<div>
<h2>cold</h2><br>Currents of cold water played with light.
</div>
<div>
<h2>sank in</h2><br>I threw a few nuts into the river. They floated for a while, then sank in.
</div>
<div>
<h2>masked</h2><br>A wide stepping stone masked the water's depth.
</div>
<div>
<h2>a glimpse</h2><br>Later on, I had a glimpse of the river's bed.
</div>
<div>
<h2>forgotten</h2><br>The wheelchair made a noise. Again, I had forgotten about my legs.
</div>
<div>
<h2>floated</h2><br>Still, I floated in oblivion of things too real.
</div>
<div>
<h2>for me</h2><br>I stared fixedly at the water's open arms. The stream was singing for me.
</div>
</div>
<!-- crossbrowser images_loading_bar - Gerard Ferrandez - www.dhteumeuleu.com - Feb 2005 -->
<span id="LB0" style="position:absolute;left:50%;top:50%;">
<span style="position:absolute;font-family:arial;font-size:10px;color:#FFFFFF;left:-50;top:-18">Loading...</span>
<span style="position:absolute;left:-50;top:-5;font-size:1px;width:100;height:10px;background:#333">
<span id="LB1" style="position:absolute;left:0;top:0;font-size:1px;width:0;height:10px;background:#FFFFFF"></span>
</span>
</span>
<script type="text/javascript">
m00=document.getElementById("imgsrc").getElementsByTagName("img");
m01=m00.length;
function images_loading_bar()
{
m02=0;
for(i=0;i<m01;i++)
m02+=(m00[i].complete)?1:0;
document.getElementById("LB1").style.width=Math.round(m02/m01*100);
if(m02==m01)
setTimeout("document.getElementById('LB0').style.display='none'",128);
else setTimeout("images_loading_bar()", 64);
};
images_loading_bar();
</script>
<!-- end of images_loading_bar code -->
</div><!-- -->
</body>
</html>[/i]
Mon code est ci-dessous:
<html>
<head>
<title></title>
<meta name="Author" content="Gerard Ferrandez at http://www.dhteumeuleu.com">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.conteneur
{
position:absolute;
left: 50%;
top: 50%;
width: 794px;
height: 567px;
margin-top: -283.5px;
margin-left: -397px;
border: 1px solid #000;
}
.haut {
height:85px;
width: 100%;
}
.bas {
width: auto;
height: 95px;
}
.frame {
height: 393px;
width: 794px;
overflow:hidden;
}
</style>
<script type="text/javascript">
window.onerror = new Function("return true");
screen.bufferDepth = 16;
document.onselectstart = function () { return false; }
////////////////////////////
var NX = 3;
var NY = 3;
var SP = 20;
var DELAY = 100;
////////////////////////////
var object = new Array();
var nI = 0;
var run = false;
var xrun = 0;
var dR = 1;
var iW = 0;
var iH = 0;
var oH = 0;
var oW = 0;
function CObj(N,y,x)
{
//alert('fonction Cobj');
this.obj = document.createElement("span");
this.obj.onclick = new Function("object["+N+"].GE1()");
this.obj.onmousedown = new Function("return false;");
this.obj.style.cursor = "pointer";
this.obj.style.position = "absolute";
this.img = document.createElement("img");
this.img.style.position = "absolute";
this.img.src = IMGSRC[N%nI].src;
this.obj.appendChild(this.img);
IMGBOX.appendChild(this.obj);
this.object = new Array();
this.x = x;
this.y = y;
this.N = N;
this.W = 0;
this.H = 0;
this.L = 0;
this.T = 0;
function CImg(Parent,y,x)
{
//alert('fonction CImg');
this.Parent = Parent;
this.obj = document.createElement("span");
this.obj.style.position="absolute";
this.obj.style.overflow="hidden";
this.obj.style.cursor = "pointer";
this.img = document.createElement("img");
this.img.style.position = "absolute";
this.img.src = IMGSRC[N%nI].src;
this.obj.appendChild(this.img);
this.Parent.obj.appendChild(this.obj);
this.N = Parent.N;
this.x = x;
this.y = y;
this.W = 0;
this.H = 0;
this.L = 0;
this.T = 0;
this.dx = 0;
this.dy = 0;
this.px = 0;
this.py = 0;
this.dw = 0;
this.dh = 0;
this.pw = 0;
this.ph = 0;
this.ipx = 0;
this.ipy = 0;
this.idx = 0;
this.idy = 0;
this.GE2 = function ()
{
//alert('GE2');
with(this)
{
px -= dx * dR;
py -= dy * dR;
pw += dw * dR;
ph += dh * dR;
ipx -= idx * dR;
ipy -= idy * dR;
with(obj.style)
{
//alert('obj.style');
left = Math.round(px);
top = Math.round(py);
width = Math.round(pw)+1;
height = Math.round(ph)+1;
if(dR==-1)if(pw<=W+1)obj.style.visibility="hidden";
}
with(img.style)
{
//alert('img.style');
left = Math.round(ipx-oW);
top = Math.round(ipy-oH);
}
if(++xrun>=NX*NY*SP)
{
xrun=0;
run=false;
if(dR==-1)Parent.obj.style.zIndex = 0;
dR = -dR;
}
}
}
this.GE1 = function (N1,N2)
{
//alert('GE1');
with(this)
{
if(dR==1)
{
px = L;
py = T;
dx = ((Parent.L + L) - (x * Parent.W)) / SP;
dy = ((Parent.T + T) - (y * Parent.H)) / SP;
pw = W;
ph = H;
dw = (Parent.W - W) / SP;
dh = (Parent.H - H) / SP;
ipx = -L;
ipy = -T;
idx = ((x * Parent.W) - L) / SP;
idy = ((y * Parent.H) - T) / SP;
}
obj.style.visibility="visible";
if(img.height>document.body.offsetHeight)oH=(img.height-document.body.offsetHeight)/2; else oH = 0;
if(img.width>document.body.offsetWidth/2)oW=(img.width-(document.body.offsetWidth/2))/2; else oW = 0;
for(i=0;i<SP;i++) setTimeout("object["+N1+"].object["+N2+"].GE2()",16*i);
}
}
this.DOOT = function ()
{
//alert('DOOT');
with(this)
{
W = Parent.W / NX;
H = Parent.H / NY;
L = x * W;
T = y * H;
}
}
}
var k = 0;
for(var i=0;i<NY;i++)
for(var j=0;j<NX;j++)
this.object[k++] = new CImg(this,i,j);
this.GE1 = function ()
{
with(this)
{
if(!run)
{
TXTBOX.innerHTML = "<div style='margin:2%'>"+TXTSRC[N%nI].innerHTML+"</div>";
run = true;
obj.style.zIndex = 1;
for(var i=0;i<NX*NY;i++) setTimeout("object["+N+"].object["+i+"].GE1("+N+","+i+")",i*DELAY);
}
}
}
this.DOOT = function ()
{
with(this)
{
if(img.width<iW)iW=img.width;
if(img.height<iH)iH=img.height;
with(obj.style)
{
W = width = iW / NX;
H = height = iH / NY;
L = left = x * W;
T = top = y * H;
}
with(img.style)
{
width = W;
height = H;
}
for(var i in object) object.DOOT();
}
}
}
onload = function()
{
IMGSRC = document.getElementById("imgsrc").getElementsByTagName("img");
TXTSRC = document.getElementById("txtsrc").getElementsByTagName("div");
IMGBOX = document.getElementById("imgbox");
TXTBOX = document.getElementById("txtbox");
CENTER = document.getElementById("center");
iH = document.body.offsetHeight;
iW = document.body.offsetWidth/2;
nI = IMGSRC.length;
var k = 0;
for(var i=0;i<NY;i++)
{
for(var j=0;j<NX;j++)
{
object[k] = new CObj(k,i,j);
object[k++].DOOT();
}
}
IMGBOX.style.width = iW;
IMGBOX.style.height = iH;
TXTBOX.style.width = iW;
TXTBOX.style.height = iH;
TXTBOX.style.left = iW;
TXTBOX.style.visibility="visible";
CENTER.style.left = -iW;
CENTER.style.top = -iH/2;
}
//-->
</script>
</head>
<body>
<div class="conteneur">
<div class="frame" >
<div id="center" style="position:absolute;">
<div id="imgbox" style="position:absolute;left:0;top:0;overflow:hidden;">
</div>
<div id="txtbox" style="position:absolute;visibility:visible;overflow:hidden;background-color:#333;color:#FFF;font-family:verdana;font-size:0.8em;">
<div style="margin:2%">
</div>
</div>
</div></div>
<div id="imgsrc" style="visibility:hidden; position:absolute">
<img alt="" src="BS9097.jpg">
<img alt="" src="BS9092.jpg">
<img alt="" src="BS9084.jpg">
<img alt="" src="BS9064.jpg">
<img alt="" src="BS9050.jpg">
<img alt="" src="BS9070.jpg">
<img alt="" src="BS9079.jpg">
<img alt="" src="BS9068.jpg">
<img alt="" src="BS9039.jpg">
</div>
<div id="txtsrc" style="visibility:hidden">
<div>
<h2>the river</h2><br>Awaken from my nap by the river
</div>
<div>
<h2>transparency</h2><br>Its transparency was hypnotizing.
</div>
<div>
<h2>cold</h2><br>Currents of cold water played with light.
</div>
<div>
<h2>sank in</h2><br>I threw a few nuts into the river. They floated for a while, then sank in.
</div>
<div>
<h2>masked</h2><br>A wide stepping stone masked the water's depth.
</div>
<div>
<h2>a glimpse</h2><br>Later on, I had a glimpse of the river's bed.
</div>
<div>
<h2>forgotten</h2><br>The wheelchair made a noise. Again, I had forgotten about my legs.
</div>
<div>
<h2>floated</h2><br>Still, I floated in oblivion of things too real.
</div>
<div>
<h2>for me</h2><br>I stared fixedly at the water's open arms. The stream was singing for me.
</div>
</div>
<!-- crossbrowser images_loading_bar - Gerard Ferrandez - www.dhteumeuleu.com - Feb 2005 -->
<span id="LB0" style="position:absolute;left:50%;top:50%;">
<span style="position:absolute;font-family:arial;font-size:10px;color:#FFFFFF;left:-50;top:-18">Loading...</span>
<span style="position:absolute;left:-50;top:-5;font-size:1px;width:100;height:10px;background:#333">
<span id="LB1" style="position:absolute;left:0;top:0;font-size:1px;width:0;height:10px;background:#FFFFFF"></span>
</span>
</span>
<script type="text/javascript">
m00=document.getElementById("imgsrc").getElementsByTagName("img");
m01=m00.length;
function images_loading_bar()
{
m02=0;
for(i=0;i<m01;i++)
m02+=(m00[i].complete)?1:0;
document.getElementById("LB1").style.width=Math.round(m02/m01*100);
if(m02==m01)
setTimeout("document.getElementById('LB0').style.display='none'",128);
else setTimeout("images_loading_bar()", 64);
};
images_loading_bar();
</script>
<!-- end of images_loading_bar code -->
</div><!-- -->
</body>
</html>[/i]