Visualizzazione dei risultati da 1 a 7 su 7

Discussione: prev() in ciclo

  1. #1

    prev() in ciclo

    Sto provando a fare una slideshow.. ma nn riesco a capire dove sta l'errore.. faccio un ciclo con il prev() fino a quanto prev() nn è 0 poi ritorno dall'ultima immagine... ma nn va ovviamente xD

    ecco il codice:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
    <head>
    <style>
    	div#contenitore{
    		position: absolute;
    		top: 10%;
    		left: 10%;
    		width: 300px;
    		height: 300px;
    		overflow: hidden;
    	}
    	div#contenitore img{
    		position: absolute;
    		float: left;
    		width: 300px;
    		height: auto;
    		top: 0px;
    		left: 0px;
    		z-index: 5;
    	}
    	div#contenitore img.attiva{
    		z-index: 10;
    	}
    </style>
    <script src="jquery-1.4.2.js" type="text/javascript"></script>
    <script type="text/javascript">
    	$(document).ready(function(){
    		setInterval("Slideshow()", 1000);
    	});
    	
    	function Slideshow(){
    		var $attiva = $("div#contenitore img.attiva");
    		
    		if ($attiva.lenght == 0){
    			$attiva = $("div#contenitore img:last");
    		}
    		
    		if ($attiva.prev().lenght == 0){
    			var $prev = $("div#contenitore").lastChild;
    		}else{
    			var $prev = $attiva.prev();
    		}
    		
    		$attiva.removeClass("attiva").animate({opacity: "0.0"}, 800);
    		$prev.css("opacity","0.0");
    		$prev.addClass("attiva").animate({opacity: "1.0"}, 800);
    	}
    </script>
    </head>
    <body>
    	<div id="contenitore">
    		[img]images/buu.jpg[/img]
    		[img]images/colla.jpg[/img]
    		[img]images/cosi.jpg[/img]
    		[img]images/olle.jpg[/img]
    		[img]images/prova.jpg[/img]
    		[img]images/rinto.jpg[/img]
    		[img]images/zero.jpg[/img]
    	</div>
    </body>
    </html>

  2. #2
    Sostituisci:

    codice:
    var $prev = $("div#contenitore").lastChild;
    con uno di questi due statement:

    codice:
    var $prev = $("div#contenitore img:last"); // come già fai altrove
    var $prev = $("div#contenitore img").last();
    lastChild è una proprietà puro javascript. La implementi con JQuery in uno di quei modi che ti ho scritto.


  3. #3
    Niente xD con nessuno dei due cicla... quando arriva al primo img invece di tornare indietro vedo solo la pagina bianca...
    E' come se nn vede l'if quello ke mi hai detto di modificare..

  4. #4
    Prova un attimo questo:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
    <head>
    <style>
       div#contenitore{
          position: absolute;
          top: 10%;
          left: 10%;
          width: 300px;
          height: 300px;
          overflow: hidden;
       }
       div#contenitore img{
          position: absolute;
          float: left;
          width: 300px;
          height: auto;
          top: 0px;
          left: 0px;
          z-index: 5;
       }
       div#contenitore img.attiva{
          z-index: 10;      
       }
    </style>
    <script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
    <script type="text/javascript">
       $(document).ready(function(){
          setInterval("Slideshow()", 1000);
       });
       
       function Slideshow() {
          var $attiva = $("div#contenitore img.attiva");
          
          if ($attiva.lenght == 0) {   
             $attiva = $("div#contenitore img:last");
          }
    
          if ($attiva.prev().length == 0) {
              var $prev = $("div#contenitore img").last();         
          } else {    	   
             var $prev = $attiva.prev();
          }
          
          $attiva.removeClass("attiva").animate({opacity: "0.0"}, 500);
          $prev.css("opacity","0.0");
          $prev.addClass("attiva").animate({opacity: "1.0"}, 500);
       }
    </script>
    </head>
    <body>
       <div id="contenitore">
          
          
          
          
          
       </div>
    </body>
    </html>
    Ti va?

    Premetto che dovrei averti risolto solo il bug del prev.


  5. #5
    oddio il tuo va xD ma nn capisco cosa è cambiato O_O

  6. #6
    Hai scritto lenght invece che length.

  7. #7
    ................

    senza parole...........

    grazie mille

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.