Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Slide Show

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    26

    Slide Show

    Ciao ragazzi, sto creando una slide show personalizzata. Di seguito vi posto il codice che funziona parzialmente in ie mentre in ff e opera non da alcun problema!

    SWITCH.JS
    codice:
    nimg = 3;
    lndom=34;
    
    function showimg(img){
    	dimimg=new Image();
    	dimimg.src=img;
    	dimimg.onload=function(){
    		ww=dimimg.width;
    		hh=dimimg.height;
    		
    		document.getElementById('SLIDE').src=img;
    		document.getElementById('SLIDESHOW').style.width=ww;
    		document.getElementById('SLIDESHOW').style.height=hh;
    		document.getElementById('SLIDESHOW').style.marginLeft=-(ww/2);
    		if(document.getElementById('SLIDESHOW').style.display=='')
    			document.getElementById('SLIDESHOW').style.display = 'inline';	
    	}
    }
    
    function shownextimg(){
    	path=document.getElementById('SLIDE').src;
    	img=parseFloat(path.substring(lndom, lndom+1));
    	if(img < nimg) img+=1;
    	else img=1;
    	showimg('./images/'+img+'.jpg');
    }
    SlideShow.html
    codice:
    <html>
    	<head>
    		<title>Slide Show</title>
    		<link rel="stylesheet" type="text/css" href="style.css">
    		<script type="text/javascript" src="./switch.js"></script>
    	</head>
    	<body>
    		<div id="SLIDESHOW">
    			<img id="SLIDE" onclick="shownextimg();">
    		</div>	
    		<div id="TB" align="center">
    			[img]./tb/1.png[/img]
    			[img]./tb/2.png[/img]
    			[img]./tb/3.png[/img]
    		</div>
    	</body>
    </html>
    E la parte del css che interessa
    codice:
    #SLIDESHOW{
    	position: absolute;
    	left: 50%;
    	display: none;
    }
    
    #TB{
    	position: absolute;
    	bottom: 0px;
    	width: 350px;
    	height: 90px;
    	left: 50%;
    	margin-left: -170px;
    	border: solid 1px;	
    	overflow: hidden;
    }
    Con ie all'esecuzione della funzione shownextimg tutto corretto fintanto che img non diventa uguale a nimg. A questo punto img viene sostituito correttamento con il valore 1 (prima immagine) ma alla chiamata della funzione showimg si ferma dopo la seconda istruzione.
    Qualcuno sa dirmi perchè?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sposta dimimg.src=img; dopo dimimg.onload=function(){...}

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    26
    Grazie della risposta Xinod, sostituendo il codice in questo modo:
    codice:
    function showimg(img){
    	dimimg=new Image();
    	alert('a');
    	dimimg.onload=function(){
    		alert('b');
    		dimimg.src=img;
    		alert('c');	
    		ww=dimimg.width;
    		hh=dimimg.height;
    //codice successivo
    arrivo all'alert('a'), ma non vado avanti, sembrerebbe fermarsi su dimimg.onload, questo anche con ff e opera. Qualche altra idea?
    Grazie mille!
    Simone

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    rileggi quello che ho scritto
    dimimg.src=img; dopo la chiusura della funzione onload

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    26
    Perfetto! Grazie mille Xinod!
    Alla prossima!
    Simone

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.