Notizie: puoi sempre seguire i nostri aggiornamenti su Twitter (@MozillaItalia) e Facebook (/MozillaItalia)

Autore Topic: Firefox e slide show  (Letto 3303 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline WilLupo

  • Post: 18
Firefox e slide show
« il: 15 Gennaio 2010 12:01:52 »
Non so se è questo il forum adatto per questa domanda, se non lo è mi scuso...

Sul mio sito personale ho inserito degli slide shows con un effetto crossfade, prendendo il software dal sito html.it

Purtroppo come previsto il crossfade funziona solo con Internet Explorer  :(

Volevo chiedervi se è possibile modificare lo script per ottenere l'effetto anche con firefox.

Questo il sw "incriminato" ;)
Codice: [Seleziona]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it">
<head>

<title - slide show - </title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="it" />
<meta name="Robots" content="All" />
<meta name="Description" content="HTML.it - il sito italiano sul Web publishing" />
<meta name="Keywords" content="Lo script permette di realizzare una galleria di immagini con effetto "crossfade". Il passaggio da un'immagine all'altra avverrà, infatti, con un effetto dissolvenza gestibile nella durata. Lo script è compatibile sia con Explorer che con altri browser ma il "crossfade" sarà visibile solo con il software di casa Microsoft. In ultimo è importante notare che, per una migliore riuscita dell'effetto, le immagini dovrebbero avere tutte la stessa grandezza." />
<meta name="Owner" content="HTML.it srl" />
<meta name="Author" content="HTML.it srl" />  
<meta name="Copyright" content="HTML.it srl" />

<script type="text/javascript" language="JavaScript">
<!--
var slideShowSpeed = 4000

var crossFadeDuration = 2

var Pic = new Array()
Pic[0] = 'images/img1.jpg'
Pic[1] = 'images/img2.jpg'
Pic[2] = 'images/img3.jpg'
Pic[3] = 'images/img4.jpg'
 // eccetera
var j = 0
var p = Pic.length

var preLoad = new Array()
for (i = 0; i < p; i++){
   preLoad[i] = new Image()
   preLoad[i].src = Pic[i]
}

function runSlideShow(){
   if (document.all){
      document.images.SlideShow.style.filter="blendTrans(duration=2)"
      document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
      document.images.SlideShow.filters.blendTrans.Apply()      
   }
   document.images.SlideShow.src = preLoad[j].src
   if (document.all){
      document.images.SlideShow.filters.blendTrans.Play()
   }
   j = j + 1
   if (j > (p-1)) j=0
   t = setTimeout('runSlideShow()', slideShowSpeed)
}

//-->
</script>

</head>
<!--<body onload="runSlideShow()">-->
<body bgcolor="#000000"  onload="runSlideShow()" topmargin="0" leftmargin="0">
<br />
<br />
 
<div align="center" style="background-color:black;padding:3px">

<img src="images/img1.jpg" name='SlideShow'>

</div>


</body>
</html>
Grazie!
Germana

Edit by Godai71: Messo codice tra tag [code]
« Ultima modifica: 15 Gennaio 2010 12:07:05 da Godai71 »

Offline RNicoletto

  • Post: 2209
    • MondoWin
Re: Firefox e slide show
« Risposta #1 il: 15 Gennaio 2010 13:00:24 »
Non è possibile. Come scritto anche nel keyword content l'effetto crossfade non funziona con browser diversi da IE.

Per ovviare ti conviene dare un'occhiata a soluzioni come questa o questa. :wink:

Offline WilLupo

  • Post: 18
Re: Firefox e slide show
« Risposta #2 il: 15 Gennaio 2010 13:42:46 »
sulla prima non c'ho capito niente  :?

la seconda, non riesco a vedere la demo, volevo verificare che funziona su IE, altrimenti sto daccapo  :lol:

Vabbè, magari provo a farne uno ;)

Grazie  :D

Offline WilLupo

  • Post: 18
Re: Firefox e slide show
« Risposta #3 il: 15 Gennaio 2010 13:54:00 »
Rettifico, non c'ho capito nulla manco sulla seconda  :?

Offline WilLupo

  • Post: 18
Re: Firefox e slide show
« Risposta #4 il: 15 Gennaio 2010 14:51:13 »
Uffa. Ce ne sono anche altri ma non ci capisco niente.
Mi viene un nervoso... perchè a farlo per IE ci ho messo 5 minuti ...il che conferma che senza microsoft l'informatica sarebbe ancora per pochi eletti e non per le zucche dure come me  :lol:

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: Firefox e slide show
« Risposta #5 il: 18 Gennaio 2010 11:17:14 »
Prova un po' questo (è un surrogato):

Codice: [Seleziona]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it">
<head>

<title - slide show - </title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="it" />
<meta name="Robots" content="All" />
<meta name="Description" content="HTML.it - il sito italiano sul Web publishing" />
<meta name="Keywords" content="Lo script permette di realizzare una galleria di immagini con effetto "crossfade". Il passaggio da un'immagine all'altra avverrà, infatti, con un effetto dissolvenza gestibile nella durata. Lo script è compatibile sia con Explorer che con altri browser ma il "crossfade" sarà visibile solo con il software di casa Microsoft. In ultimo è importante notare che, per una migliore riuscita dell'effetto, le immagini dovrebbero avere tutte la stessa grandezza." />
<meta name="Owner" content="HTML.it srl" />
<meta name="Author" content="HTML.it srl" />  
<meta name="Copyright" content="HTML.it srl" />

<script type="text/javascript" language="JavaScript">
<!--
var slideShowSpeed = 4000

var crossFadeDuration = 2

var Pic = new Array()
Pic[0] = 'a.gif'
Pic[1] = 'b.jpg'
Pic[2] = 'c.gif'
Pic[3] = 'd.gif'
 // eccetera
var j = 0
var p = Pic.length

var preLoad = new Array()
for (i = 0; i < p; i++){
   preLoad[i] = new Image()
   preLoad[i].src = Pic[i]
}

var delay = 50;

function fadeIn() {
var opac = parseFloat(document.images.SlideShow.style.opacity);
if (opac < 1) {
opac = opac + 0.04;
document.images.SlideShow.style.opacity = opac;
setTimeout(fadeIn, delay);
}
}

function runSlideShow(){
   if (document.all){
      document.images.SlideShow.style.filter="blendTrans(duration=2)"
      document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
      document.images.SlideShow.filters.blendTrans.Apply()      
   }
   else {
document.images.SlideShow.style.opacity = 0.1;
   }
   document.images.SlideShow.src = preLoad[j].src;
  
   if (document.all){
      document.images.SlideShow.filters.blendTrans.Play()
   }
   else {
fadeIn();
   }
   j = j + 1
   if (j > (p-1)) j=0
   t = setTimeout('runSlideShow()', slideShowSpeed)
}

//-->
</script>

</head>
<!--<body onload="runSlideShow()">-->
<body bgcolor="#000000"  onload="runSlideShow()" topmargin="0" leftmargin="0">
<br />
<br />
 
<div align="center" style="background-color:black;padding:3px">

<img src="" name='SlideShow'>

</div>


</body>
</html>

P.S. le istruzioni in javascript andrebbero chiuse con il punto e virgola ;-)
« Ultima modifica: 18 Gennaio 2010 13:58:36 da klades »

0 Utenti e 1 Visitatore stanno visualizzando questo topic.