webForumDet fria alternativet
Logga in / Bli medlem

Startbild

JavaScript

0 svar · 290 visningar · startad av Biasse

Medlem sedan aug. 2003480 inlägg
Frågan#1

Jag har ett bildspel på en sida och undrar om man kan bestämma vilken bild som visas först när man startar eller om det bara går att få det slumpvis?

function fisherYates ( myArray ) {
  var i = myArray.length;
  if ( i == 0 ) return false;
  while ( --i ) {
     var j = Math.floor( Math.random() * ( i + 1 ) );
     var tempi = myArray[i];
     var tempj = myArray[j];
     myArray[i] = tempj;
     myArray[j] = tempi;
   }
}

window.addEventListener?window.addEventListener('load',so_init,false):window.attachEvent('onload',so_init);

var d=document, imgs = new Array(

"bilder/aaastart.jpg",
"bilder/cias_cad58.jpg",
"bilder/czarnecki_firebird69.jpg",
"bilder/dahlberg_cadillac.jpg",
"bilder/erlandson_cadillac.jpg",
"bilder/inges_charger.jpg",
"bilder/janne_malibu.jpg",
"bilder/jimmy_impala.jpg",
"bilder/Kellberg_camaro_1.jpg",
"bilder/kina_dodge59_2.jpg",
"bilder/kjelle_cad58.jpg",
"bilder/kjelle_ford2.jpg",
"bilder/lenas_lemans.jpg",
"bilder/likbil1.jpg",
"bilder/lindberg_gto.jpg",
"bilder/lindberg_olds.jpg",
"bilder/ACCS.jpg",
"bilder/lovin_ford66.jpg",
"bilder/luvan_roadrunner.jpg",
"bilder/ostman_cadillac59.jpg",
"bilder/p_gustafson_camaro.jpg",
"bilder/peter_skyline.jpg",
"bilder/raimo_bonne_2.jpg",
"bilder/Rauno_Buick_1.jpg",
"bilder/slotte_firebird.jpg",
"bilder/stefan_pontiac55.jpg",
"bilder/swaerd_cadillac.jpg",
"bilder/wallin_dart.jpg",
"bilder/wallstrom_chrysler.jpg",
"bilder/viklund_crownvictoria56.jpg",
"bilder/wikstrom_dodge59.jpg"

), zInterval = null, current=0, pause=false;

function newImage(src)
{
	var img = d.createElement('img');
	img.src = src;
	return img;
}

function so_init()
{
	if(!d.getElementById || !d.createElement)return;

	css = d.createElement('link');
	css.setAttribute('href','slideshow2.css');
	css.setAttribute('rel','stylesheet');
	css.setAttribute('type','text/css');
	d.getElementsByTagName('head')[0].appendChild(css);

	fisherYates(imgs);
	imgs[0] = document.getElementById('rotator').appendChild(newImage(imgs[0]));
	imgs[0].style.display = 'block';
	imgs[0].xOpacity = .99;

	setTimeout(so_xfade,3000);
}

function so_xfade()
{
	if (imgs[current+1] && typeof(imgs[current+1]) != typeof({})){
		imgs[current+1] = document.getElementById('rotator').appendChild(newImage(imgs[current+1]));
		imgs[current+1].xOpacity = 0;
	}

	cOpacity = imgs[current].xOpacity;
	nIndex = imgs[current+1]?current+1:0;
	nOpacity = imgs[nIndex].xOpacity;

	cOpacity-=.05;
	nOpacity+=.05;

	imgs[nIndex].style.display = 'block';
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;

	setOpacity(imgs[current]);
	setOpacity(imgs[nIndex]);

	if(cOpacity<=0)
	{
		imgs[current].style.display = 'none';
		current = nIndex;
		setTimeout(so_xfade,3000);
	}
	else
	{
		setTimeout(so_xfade,50);
	}

	function setOpacity(obj)
	{
		if(obj.xOpacity>.99)
		{
			obj.xOpacity = .99;
			return;
		}

		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = 'alpha(opacity=' + (obj.xOpacity*100) + ')';
	}
}
271 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)