Visualizzazione dei risultati da 1 a 7 su 7

Discussione: tabs dinamiche

  1. #1

    tabs dinamiche

    ciao a tutti, in giro si trovano alcuni esempi di tabs che al click switchano un div ma sono alcuni troppo pesanti perchè usano framework come mootools o jquery ecc ecc oppure sono troppo complessi da modificare e quindi diffocoltosi da modificarnew il css a seconda delle proprie necessità.

    quindi vorrei sapere se esiste un modo semplice per switchare i contenuti di due div, ad esempio:

    al caricamento della pagina il div n°1 è quello visibile di default ma cliccando sul pulksante del div n°2 viene fuori il contenuto del secondo div nascondendo il primo e viceversa, ovviamente con rollover su questi tasti..

    spero in un aiutoi o almeno spero mi possiateindirizzare su come poter creare un piccolo script adatto alle mie esigenze.

    grazie
    Per una battaglia sono sempre a disposizione

  2. #2

  3. #3
    ho detto una minchiata lo so, in realtà è che uso già per alcuni effetti MooTools e quindi non volevo usare altri framework.

    Poi con mootools ho trovato quello che cerco, MooTabs, ma a me serve una cosa semplice e banale senza effetti di transizione ecc.

    praticamente vorrei creare tipo uno script che all'onload visualizzi il primo div enasconda il secondo e poi ad evento click eseguire l'effettivo switch dei contenuti...

    è una cosa semplicew dafareda zero?
    Per una battaglia sono sempre a disposizione

  4. #4

  5. #5
    beh, in verità non vedo la pesantezza di 64Kb di script, comunque, puoi sempre (sul sito di Mootools) indicare cosa ti serve e per qeusto ti basta il core e gli element.

    Detto ciò

    crea una struttura tipo:

    Codice PHP:
    <div id="tot">
        <
    div id="header">
            <
    ul  class="tabs-header">
                <
    a href="#" onclick="change('uno')">
                    [*]
                        
    Uno
                    
                
    </a>
                <
    a href="#" onclick="change('due')">
                    [*]
                        
    Due
                    
                
    </a>
            [/list]
        </
    div>
        <
    div id="content">
            <
    div class="tabs" id="uno">
                <
    h1>Contenuto 1</h1>
                
    askjbdsjkbjkbgfkjbagkjakjasfgbbz

                askjbdsjkbjkbgfkjbagkjakjasfgbbz

                askjbdsjkbjkbgfkjbagkjakjasfgbbz

                askjbdsjkbjkbgfkjbagkjakjasfgbbz

            
    </div>
            <
    div class="tabs" id="due">
                <
    h1>Contenuto 2</h1>
                
    askjbdsjkbjkbgfkjbagkjakjasfgbbz

                askjbdsjkbjkbgfkjbagkjakjasfgbbz

                askjbdsjkbjkbgfkjbagkjakjasfgbbz

                askjbdsjkbjkbgfkjbagkjakjasfgbbz

            
    </div>
        </
    div>
    </
    div
    Con CSS
    Codice PHP:
    <style type="text/css">
                
    #tot{
                    
    width800px;
                    
    margin50px auto 0px auto;
                }
                
                
    #header{
                    
    width100%;
                    
    height20px;
                    
    floatleft;
                }
                
                
    #content{
                    
    width100%;
                    
    heightauto;
                    
    floatleft;
                    
    border1px solid silver;
                    
    background-color#FFE87C;
                
    }
                
                .
    tabs-header{
                    list-
    stylenone;
                    
    margin0px;
                    
    padding0px;
                }
                
                .
    tabs-header li{
                    
    width100px;
                    
    height20px;
                    
    float:left;
                    
    text-aligncenter;
                    
    border-top1px solid silver;
                    
    border-left1px solid silver;
                    
    border-right1px solid silver;
                    
                }
                
                .
    tabs-header li.active{
                    
    background-color#FFE87C;
                
    }
                
                .
    tabs{
                    
    width100%;
                    
    floatleft;
                    
    displaynone;
                }
    </
    style
    e Javascript
    Codice PHP:
    var active 'uno';
    window.onload = function(){
        
    change(active);
    }

    function 
    change(id)
    {
        var 
    el document.getElementById('content');
        var 
    divs el.getElementsByTagName('div');
        var 
    index 0;
        for(
    0divs.lengthi++)
        {
            if(
    divs[i].id == id)
            {
                
    divs[i].style.display 'block';
                
    index i;
            }
            else
            {
                
    divs[i].style.display 'none';
            }
        }
        
        
    el document.getElementById('header');
        var 
    lis el.getElementsByTagName('li');
        for(
    0lis.lengthi++)
        {
            if(
    == index)
            {
                
    lis[i].className 'active';
            }
            else
            {
                
    lis[i].className '';
            }
        }

    Dovrebbe funzionare

  6. #6
    perfetto è proprioquelche mi serviva!! un semplicissimo script del genere!!

    ti ringrazio artorius


    cmq una cosa: lo script funziona per su IE e con Firebug mi da alcuni errori del javascript:

    el has no properties
    change("tabuno")# (line 61)
    onload()# (line 39)
    [Break on this error] var lis = el.getElementsByTagName('LI');


    ma in generale ogniv olta che clicco mi da lo stesso errore

    el has no properties
    change("tabdue")# (line 61)
    onclick(click clientX=0, clientY=0)# (line 1)
    [Break on this error] var lis = el.getElementsByTagName('LI');
    Per una battaglia sono sempre a disposizione

  7. #7
    no scusate errore mio. mi ero mangiato una lettera di un tag :P

    funziona alla grande!!!

    grazie mille

    Per una battaglia sono sempre a disposizione

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.