Bonjour!
Ho cercato di personalizzare un codice JS trovato online per uno slide di immagini.
Le modifiche che ho apportato hanno la finalità di utilizzare lo stesso codice per due slide diverse presenti nella stessa pagina, quindi rendere dinamico l'array che contiene le varie immagini e il DIV dove scorrono. Tuttavia non sono molto pratica in JS e non riesco a farlo funzionare.![]()
Ecco il codice:
Se apro la CONSOLE di FF, ricevo errore alla riga:Codice PHP:<script type="text/javascript">
function creArray(stringa,mylay)
{
var images = stringa.split( /,/);
var nextImage = 1;
var imageWidth = 500;
var imageHeight = 250;
var imageTimeout = 1500;
pageLoad(mylay);
}
function setOpacity(el, opacity) {
// Which opacity method does this browser support?
opacity /= 100;
el.style.opacity = opacity;
el.style.MozOpacity = opacity;
el.style.filter = "alpha(opacity=" + (opacity*100) + ")";
}
function fadeImage(el, currentOpacity) {
currentOpacity += 5;
if (currentOpacity > 100) {
setOpacity(el, 100);
var prevEl = el.previousSibling ? el.previousSibling : el.parentNode.lastChild;
prevEl.style.visibility = 'hidden';
el.style.zIndex = 1;
window.setTimeout(startFading, imageTimeout);
}
else {
setOpacity(el, currentOpacity);
window.setTimeout(function() { fadeImage(el, currentOpacity); }, 50);
}
}
function startFading(mylay) {
var el = document.getElementById(mylay).childNodes[nextImage];
el.style.visibility = 'visible';
el.style.zIndex = 2;
setOpacity(el, 0);
fadeImage(el,0);
nextImage = (nextImage < images.length-1) ? nextImage + 1 : 0;
}
function pageLoad(mylay) {
var el = document.getElementById(mylay);
while (el.firstChild) { el.removeChild(el.firstChild); }
el.style.width = imageWidth + 'px';
el.style.height = imageHeight + 'px';
for(var i=0; i<images.length; i++) {
var t = document.createElement('IMG');
t.setAttribute('src',images[i]);
t.setAttribute('width',imageWidth);
t.setAttribute('height',imageHeight);
t.style.position = 'absolute';
t.style.visibility = 'hidden';
el.appendChild(t);
}
el.firstChild.style.visibility = 'visible';
window.setTimeout(startFading(mylay), imageTimeout);
}
window.onload = creArray('prova1.jpg,prova2.jpg,prova3.jpg,prova4.jpg','livello1');
</script>
Sicuramente c'è qualcosa che non va nella mia sintassi, dove sbaglio?Codice PHP:while (el.firstChild) { el.removeChild(el.firstChild); }
Errore: el has no properties
Riga: 68
:master:

Rispondi quotando
