/ Forside/ Teknologi / Udvikling / Java / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Problem med slideshow
Fra : LL4
Vist : 352 gange
100 point
Dato : 08-05-05 14:18

Jeg vil gerne have to slideshows på den samme side.

Jeg bruger dette script

Kode
<script language="JavaScript1.2">
//www.dkscripts.tk
var slideshow_width=150
var slideshow_height=150
var pause=3000
var fadeimages=new Array()
//Husk at ændre billederne til dem du vil havde med i dit slideshow


fadeimages[0]="foto/slide/slide1.jpg"

fadeimages[1]="hove/04-05-26(2-2).jpg"

fadeimages[2]="Billeder/1999/s3.jpg"

fadeimages[3]="Billeder/1999/s4.jpg"

fadeimages[4]="Billeder/1999/s5.jpg"

fadeimages[5]="Billeder/1999/s6.jpg"


//np 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&&navigator.userAgent.indexOf("Opera")==-1
var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1
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;filter:alpha(opacity=10);-moz-opacity:10"></div><div id="canvas1" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';top:0;filter:alpha(opacity=10);-moz-opacity:10"></div></div>')
else
document.write('<img 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 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>


Det virker fint hvis jeg bare skal ha et slideshow, men når jeg kopierer det for jeg fejlmelding om at "style.MozOpacity er null eller ikke et object.

Jeg er desværre ikke en haj til Java, så hvis nogen kan hjælpe, så bliver jeg glad.

Findes der evt. andre javascripts der er bedre til slideshows?

 
 
Kommentar
Fra : molokyle


Dato : 08-05-05 14:52

For det første er det ikke JAVA, men Javascript : 2 forskellige boldgader

Java er et objektorienteret platforms-uafhængigt programmeringssprog, mens Javascript er et browserfortolket scriptsprog

Her er flere muligheder for slideshows i Javascript :

1.) http://javascript.internet.com/miscellaneous/image-slideshow.html
2.) http://javascript.internet.com/miscellaneous/basic-slideshow.html
3.) http://www.codelifter.com/main/javascript/slideshow2.html
4.) http://www.barelyfitz.com/projects/slideshow/
5.) http://www.codeave.com/javascript/code.asp?u_log=7018
6.) http://www.javascriptkit.com/script/script2/jsslide.shtml
osv...

..ellers læs her : http://www.dynamicdrive.com/forums/showthread.php?t=102

..og her : http://www.codingforums.com/archive/index.php/t-233.html

Start her : http://www.javascriptkit.com/howto/interslide.shtml

</MOLOKYLE>



Kommentar
Fra : LL4


Dato : 08-05-05 14:58

Det med Java vidste jeg egentligt godt - Tak for rettelsen.

Og så til problemet.
Jeg har jo allerede fundet et brugbart script. Det virker bare ikke når jeg skal ha to på den samme side.

Er der nogen der kan forklare mig hvorfor?

Kommentar
Fra : molokyle


Dato : 08-05-05 15:14

Tjaeh... det er samme problem opstår når, du køre to baggrundsmusiknumre på en web side. De skulle gerne køres EFTER hinanden, men de har det gerne med at ville køres så snart de er loadede og bliver dermed i konflikt med hverandre, når de begge er hentet ned på klientens maskine. Dvs. køres samtidig (..det du vil opnå med dit javascript), men er jo i dette tilfælde IKKE ønskværdigt.

Dit problem imidlertid er :

Du bruger globale variable :
Kode
var slideshow_width=150
var slideshow_height=150
var pause=3000
var fadeimages=new Array()
.
.
var preloadedimages=new Array()

..i det angivne javascript. De 'gamle' værdier overskrives dermed af 'nye' når scriptet kaldes/loades anden gang på samme side

De samme hukommelses adresser bliver brugt til forskellige data.

Du må finde/lave et script der bruger lokale/uafhængige variable til at holde information om billederne og administrationsdata : Timing, counters, osv...

</MOLOKYLE>

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177451
Tips : 31962
Nyheder : 719565
Indlæg : 6408132
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste