Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    249

    aiuto personalizzare accordion prototype

    vi chiedo un piccolo aiuto, sto utilizzando questo script accordion

    var accordion=function(){
    var tm=sp=10;
    function slider(n){this.nm=n; this.arr=[]}
    slider.prototype.init=function(t,c,k){
    var a,h,s,l,i; a=document.getElementById(t); this.sl=k?k:'';
    h=a.getElementsByTagName('dt'); s=a.getElementsByTagName('dd'); this.l=h.length;
    for(i=0;i<this.l;i++){var d=h[i]; this.arr[i]=d; d.onclick=new Function(this.nm+'.pro(this)'); if(c==i){d.className=this.sl}}
    l=s.length;
    for(i=0;i<l;i++){var d=s[i]; d.mh=d.offsetHeight; if(c!=i){d.style.height=0; d.style.display='none'}}
    }
    slider.prototype.pro=function(d){
    for(var i=0;i<this.l;i++){
    var h=this.arr[i], s=h.nextSibling; s=s.nodeType!=1?s.nextSibling:s; clearInterval(s.tm);
    if(h==d&&s.style.display=='none'){s.style.display= ''; su(s,1); h.className=this.sl}
    else if(s.style.display==''){su(s,-1); h.className=''}
    }
    }
    function su(c,f){c.tm=setInterval(function(){sl(c,f)},tm)}
    function sl(c,f){
    var h=c.offsetHeight, m=c.mh, d=f==1?m-h:h; c.style.height=h+(Math.ceil(d/sp)*f)+'px';
    c.style.opacity=h/m; c.style.filter='alpha(opacity='+h*100/m+')';
    if(f==1&&h>=m){clearInterval(c.tm)}else if(f!=1&&h==1){c.style.display='none'; clearInterval(c.tm)}
    }
    return{slider:slider}
    }();

    al caricamento della pagina è aperta la prima tendina, cosa devo modificare per far si che appaia tutto chiuso?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Difficile fare ipotesi senza anche html (non codice lato server php/asp), quando posti codice usa i tasti [code] o [php]
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    249
    codice:
      
    <div id="accordion"> 	
    <dl class="accordion" id="slider">  
    		
    <dt>prima ricerca</dt> 		
    <dd> 
    <form action="annunci.php?action=2" method="post" style="display: inline;  " name="form">
    </form> 		
    </dd>  		
    
    <dt>seconda ricerca</dt> 		
    <dd> 
    <form action="annunci.php?action=3" method="post" style="display: inline;  " name="form"> 
    </form> 		
    </dd>  		
    
    <dt>terza ricerca</dt> 		
    <dd> 
    <form action="annunci.php?action=4" method="post" style="display: inline;  " name="form"> 
    </form> 		
    </dd>  	       
    
     <dt>quarta ricerca</dt> 		
    <dd>  
    <form action="annunci.php?action=5" method="post" style="display: inline; " name="form"> 
    </form> 		
    </dd> 	
    </dl> 
    </div>  
    
    <script type="text/javascript"> 
    var slider=new accordion.slider("slider"); 
    slider.init("slider",0,"open"); 
    </script>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    249
    così ho postato tutto, codice e script, in questo modo al caricamento pagina appare la prima ricerca aperta.. ho bisogno che sia tutta chiusa e si apra solo al click.
    questo js non lo conosco, ad esempio nelle options dell accordion di jqueryui,che conosco meglio, con active:false ottengo ciò che mi interessa.. mi aiutate con questa? grz

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    prova a cambiare cosi slider.init("slider",0,"close"); sto sparando a caso non conoscendo la funzione, se non funziona
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    249
    è la prima cosa che avevo pensato ma non cambia nulla

    in alternativa mi sapete indicare uno script leggero per un accordion che si apra al click?
    quella di jqueryui non posso, mi va in conflitto con fancybox che uso per aprire le foto dei risultati della ricerca.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da roberto763
    è la prima cosa che avevo pensato ma non cambia nulla
    ..
    Se indicavi subito non si perdeva tempo in due
    Se usi jquery puoi usare animate() oppure slideDown() e slideUp() dipende da cosa vuoi ottenere, comunque di accordion in jquery in rete ne trovi diversi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.