Avatar billede pissed_squirrel Nybegynder
02. november 2004 - 18:14 Der er 5 kommentarer og
1 løsning

Mulig omskrivning af script?

Er det muligt at omskrive denne kode så den kan indsættes 4 gange på samme side uden at gå helt agurk?

<script language="JavaScript1.2">

//Fade-in image slideshow- By Dynamic Drive
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use

var slideshow_width='174px' //SET IMAGE WIDTH
var slideshow_height='174px' //SET IMAGE HEIGHT
var pause=3000 //SET PAUSE BETWEEN SLIDE (3000=3 seconds)

var fadeimages=new Array()
//SET IMAGE PATHS. Extend or contract array as needed
fadeimages[0]="images/forside/changing/thumbs/blank.jpg"
fadeimages[1]="images/forside/changing/thumbs/1.jpg"
fadeimages[2]="images/forside/changing/thumbs/2.jpg"
fadeimages[3]="images/forside/changing/thumbs/3.jpg"
fadeimages[4]="images/forside/changing/thumbs/4.jpg"
fadeimages[5]="images/forside/changing/thumbs/5.jpg"

////NO need to edit beyond here/////////////

var preloadedimages=new Array()
for (p=0;p<fadeimages.length;p++){
preloadedimages[p]=new Image()
preloadedimages[p].src=fadeimages[p]
}

var ie4=document.all
var dom=document.getElementById

if (ie4||dom)
document.write('<div style="position:relative;width:'+slideshow_width+';height:'+slideshow_height+';overflow:hidden"><div id="canvas0" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';top:0;left:0;filter:alpha(opacity=10);-moz-opacity:10"></div><div id="canvas1" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';top:0;left:0;filter:alpha(opacity=10);-moz-opacity:10"></div></div>')
else
document.write('<img border="2" name="defaultslide" src="'+fadeimages[0]+'">')

var curpos=10
var degree=10
var curcanvas="canvas0"
var curimageindex=0
var nextimageindex=1


function fadepic(){
if (curpos<100){
curpos+=10
if (tempobj.filters)
tempobj.filters.alpha.opacity=curpos
else if (tempobj.style.MozOpacity)
tempobj.style.MozOpacity=curpos/100
}
else{
clearInterval(dropslide)
nextcanvas=(curcanvas=="canvas0")? "canvas0" : "canvas1"
tempobj=ie4? eval("document.all."+nextcanvas) : document.getElementById(nextcanvas)
tempobj.innerHTML='<img border="2" src="'+fadeimages[nextimageindex]+'">'
nextimageindex=(nextimageindex<fadeimages.length-1)? nextimageindex+1 : 0
setTimeout("rotateimage()",pause)
}
}

function rotateimage(){
if (ie4||dom){
resetit(curcanvas)
var crossobj=tempobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
crossobj.style.zIndex++
var temp='setInterval("fadepic()",50)'
dropslide=eval(temp)
curcanvas=(curcanvas=="canvas0")? "canvas1" : "canvas0"
}
else
document.images.defaultslide.src=fadeimages[curimageindex]
curimageindex=(curimageindex<fadeimages.length-1)? curimageindex+1 : 0
}

function resetit(what){
curpos=10
var crossobj=ie4? eval("document.all."+what) : document.getElementById(what)
if (crossobj.filters)
crossobj.filters.alpha.opacity=curpos
else if (crossobj.style.MozOpacity)
crossobj.style.MozOpacity=curpos/100
}

function startit(){
var crossobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
crossobj.innerHTML='<img src="'+fadeimages[curimageindex]+'">'
rotateimage()
}

if (ie4||dom)
window.onload=startit
else
setInterval("rotateimage()",pause)

</script>
Avatar billede olebole Juniormester
02. november 2004 - 18:54 #1
<ole>

Så bør hele scriptet skrives om fra start til slut i OOP (Objekt Orienteret Programmering). Ellers ender du op med et syndigt rod af variabler  :o|

/mvh
</bole>
Avatar billede pissed_squirrel Nybegynder
02. november 2004 - 22:08 #2
Damn

Er det så muligt at ændre i det der så man kan få 4 billeder som output i stedet for kun 1, med forskellige billeder tilknyttet de enkelte steder?
Avatar billede roenving Novice
03. november 2004 - 00:56 #3
Måske kan du bruge mit fade-script direkte: http://roenving.users.whitehat.dk/WD5Opacity.html

-- bemærk at det er som et eksempel, at det aktiveres med en mouse-over, det har ingen problemer med at køre fra andre events, og er fuldt i stand til at køre et hvilkensomhelst antal fades (så længe din computer har kræfter !-)
Avatar billede roenving Novice
03. november 2004 - 00:58 #4
Iøvrigt findes der også en udgave, hvor det er brugt direkte til et slideshow: http://www.eksperten.dk/spm/478961, men jeg har ikke kigget på, om det vil kræve en anderledes implementering at få mange slideshows til at køre ...
Avatar billede pissed_squirrel Nybegynder
03. november 2004 - 09:43 #5
Jeg skal have 4 billeder som fader igennem 5 billeder hver og da det hele skal være på samme side skal jeg have fundet en nem og smart løsning så jeg kan bruge dette script eller et omskrevet
Avatar billede pissed_squirrel Nybegynder
10. november 2004 - 20:31 #6
Så lukker jeg!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester