webForumDet fria alternativet

Lite hjälp med ett bildspel

JavaScriptur Javascript

8 svar · 1 171 visningar · startad av grennfox

Medlem sedan feb. 2010177 inlägg
Frågan#1

Jag har ett väldigt lätt bildspel som visas på ett antal sidor.
Men nu till själva problemet, jag skulle gärna vilja slippa att gå in och ändra på alla sidor varje gång det kommer en ny bild som ska läggas in.

Så jag undrar ifall man kan på något sätt göra så att jag bara behöver gå in o ändra på en sida så ändras det på alla andra oxå.

<head> koden:

<script language="JavaScript1.1">

var slidespeed=4000

var slideimages=new Array("images/1.jpg","images/2.gif")

var slidelinks=new Array("#","#")

var newwindow=0 //

var imageholder=new Array()
var ie=document.all
for (i=0;i<slideimages.length;i++){
imageholder[i]=new Image()
imageholder[i].src=slideimages[i]
}

function gotoshow(){
if (newwindow)
window.open(slidelinks[whichlink])
else
window.location=slidelinks[whichlink]
}
</script>

Och body koden:

<a href="javascript:gotoshow()"><img src="image1.gif" name="slide" border=0 style="filter:blendTrans(duration=3)" width=220 height=220></a>

<script language="JavaScript1.1">
<!--

var whichlink=0
var whichimage=0
var blenddelay=(ie)? document.images.slide.filters[0].duration*1000 : 0
function slideit(){
if (!document.images) return
if (ie) document.images.slide.filters[0].apply()
document.images.slide.src=imageholder[whichimage].src
if (ie) document.images.slide.filters[0].play()
whichlink=whichimage
whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0
setTimeout("slideit()",slidespeed+blenddelay)
}
slideit()

//-->
</script>

Uppskattar alla svar :)

Medlem sedan juni 20019 519 inlägg
#2

lägg din JS kod i en egen fil så borde det ju lösa sig själv...

Medlem sedan feb. 2010177 inlägg
#3

okej o sen så länkar man bara till den sidan då lr där man vill att bildspelen ska visas?

Medlem sedan juni 20019 519 inlägg
#4

ja, förmodligen men känns som den fungera lite sådär i alla webbläsare.

+ du måste köra den efter att dina bild finns i DOM:en, så lägg den längst ner på sidan så bör det fungera.

Medlem sedan feb. 2010177 inlägg
#5

Okej har du något förslag på hur man kan göra den bättre?

Medlem sedan juni 20019 519 inlägg
#6

Koden kommer bara fungera i IE, men om du är nöjd med det:

var slidespeed = 4000,
	slideimages = ["http://lovisaholmstrom.blogg.se/images/2011/hamster_dagens_stis_2011_st_sweet_cute_148682220.jpg","http://lovisaholmstrom.blogg.se/images/2011/funny-cats-a10_133209394_138545597.jpg"],
	slidelinks = ["#","#"],
	newwindow = whichlink = whichimage = 0,
	imageholder = [],
	ie=document.all,
	blenddelay =  ie ? document.images.slide.filters[0].duration * 1000 : 0;

for (i=0;i<slideimages.length;i++){
	imageholder[i] = new Image();
	imageholder[i].src = slideimages[i]
}

function gotoshow() {
	if (newwindow) {
		window.open(slidelinks[whichlink]);
	} else {
		window.location=slidelinks[whichlink];
	}
}

function slideit() {
	if (!document.images) {return;}

	if (ie){
		document.images.slide.filters[0].apply();
	}

	document.images.slide.src = imageholder[whichimage].src;
	if (ie){
		document.images.slide.filters[0].play();
	}

	whichlink = whichimage;
	
	whichimage = (whichimage < slideimages.length - 1) ? whichimage + 1 : 0;
	
	setTimeout(slideit, slidespeed + blenddelay);

}

slideit();

Lägg den i en .js fil så långt ner på din sida )(måste komma efter din HTML kod):

<a href="javascript:gotoshow()"><img src="bilden.gif" name="slide" border=0 style="filter:blendTrans(duration=3)" width=220 height=220></a>

Så kommer det fungera.

Medlem sedan feb. 2010177 inlägg
#7

Fick det inte att funka, eller om jag missuppfatta dig, men gjorde en helt ny sida och klistra in den koden som du skrev först o döpte den till en js fil.
Sen så la ja in den andra koden där jag ville att bilderna ska visas, men det funkar inte alls.

Medlem sedan juni 20019 519 inlägg
Medlem sedan feb. 2010177 inlägg
#9

aha nu hänger jag med :)
Tackar så jette mkt för hjälpen :)

131 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)