Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Problemi con jquery

    Salve a tutti.
    Scrivo per segnalare questo mio problema, che oramai da tre giorni mi rincorre:
    sto provando ad inserire un image menu tipo quello di mootools, però creato con la libreria jquery. Fino a qui nessun problema, tramite il tutorial sono riuscito a creare una pagina funzionante.

    A questo punto vorrei inserire dei div che si aprono come link alle varie voci dell'image menu con un effetto slide su dei div. Inoltre dovrei creare lo stesso effetto su div multipli, che si aprono al click sulle varie opzioni dell'image menu.
    L'esempio è a questo indirizzo: http://www.isoletremitihotel.it
    Come vedete l'image menu creato con jquery funziona bene, il problema è che cliccando sulle varie barre vorrei far uscire dei div, ognuno che quando si apre chiude gli altri.
    Ho provato in 100 modi diversi, ma non riesco. Seguendo un tutorial ho inserito queste funzioni:
    <script type="text/javascript">
    $(document).ready(function(){

    $(".btn-slide").click(function(){
    $("#opere").slideToggle("slow");
    $(this).toggleClass("active"); return false;
    });


    });
    </script>
    e poi richiamando la funzione btn-slide nel punto che dovrei cliccare per arire il div:


    Il codice integrale del file index è questo:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Dynamic Image Menu Example</title>
    <link rel="stylesheet" href="_common/css/main.css" type="text/css" media="all" />
    <link href="jimgMenukwicks.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/jquery-easing-1.3.pack.js"></script><script type="text/javascript" src="js/jquery-easing-compatibility.1.2.pack.js"></script>
    <script type="text/javascript" src="js/jquery.kwicks-1.5.1.pack.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){

    $(".btn-slide").click(function(){
    $("#opere").slideToggle("slow");
    $(this).toggleClass("active"); return false;
    });


    });
    </script>
    <!--[if IE]>
    <script type="text/javascript">
    $().ready(function() {
    $(".jimgMenu ul").kwicks({max: 310, duration: 400, easing: "easeOutQuad"});
    });
    </script>
    <![endif]-->
    <script type="text/javascript">
    $().ready(function() {
    $('.jimgMenu ul').kwicks({max: 310, duration: 400, easing: 'easeOutQuad'});
    });
    </script>


    <style type="text/css">
    <!--
    .Stile1 {
    font-size: xx-large;
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #FFFFFF;
    }
    -->
    </style>
    </head>
    <body>

    <div id="contenitore">

    <h1 class="Stile1">Nicola Di Pardo</h1>
    <hr />
    <div class="jimgMenu">
    <ul>
    <li id="landscapes">
    <li id="people">People
    <li id="nature">Nature
    <li id="abstract">Abstract
    <li id="urban">Urban[/list]
    </div>
    <div class="opere" style= "display: none;">
    <table width="800" cellpadding="1" cellspacing="1">
    </table>
    </div>

    </div>

    </body>
    </html>


    Spero davvero che qualcuno possa aiutarmi, prima che divento pazzo.
    Ringrazio tutti in anticipo, e approfitto per salutare tutto il forum.
    Sgarza

  2. #2
    Ho risolto una parte dell'enigma, nello script mancava il punto davanti al nome del div:

    $(".btn-slide").click(function(){
    $("#.opere").slideToggle("slow");
    $(this).toggleClass("active"); return false;
    });

    Adesso lo slide funziona, ed anche l'image menu. Rimane il fatto che su più livelli posso ripetere lo script con valori diversi, ad esempio:

    $(".btn-slide2").click(function(){
    $("#.libri").slideToggle("slow");
    $(this).toggleClass("active"); return false;
    });

    Dove cliccando sulla classe btn.slide2, mi si apre il div con lo slide.....ora non so come all'apertura di uno posso chiudere automaticamente quelli già aperti, in modo che l'apertura di uno comporti la chiusura degli altri.

    Potete aiutarmi??
    Ciao e grazie ancora
    Sgarza

  3. #3
    A parte che il codice non corrisponde, c'è un #.libri ma libri non è da nessuna parte e # serve per quando c'è un id mentre . quando c'è un class.

    Cmq per fare ciò che chiedi è sufficiente che ogni volta li chiudi tutti e apri quello che ti interessa.

  4. #4
    Aah! Ho capito, in effetti era un class, che poi è riportato lungo il codice, che però ho omesso di scrivere. Ma per chiudere tutti gli altri come faccio?
    Grazie ancora!!!
    Sgarza

  5. #5
    A sapere il codice sarebbe più facile risponderti

    Comunque, ad esempio, per chiudere tutti i[*] che sono in jimgMenu basta fare:

    codice:
    $(".jimgMenu ul li").slideOut();

  6. #6
    Gentilissimo Semanion,
    ti posto qui di seguito il codice, sperando che tu possa aiutarmi:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Dynamic Image Menu Example</title>
    <link rel="stylesheet" href="_common/css/main.css" type="text/css" media="all" />
    <link href="jimgMenukwicks.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery-easing-1.3.pack.js"></script>
    <script type="text/javascript" src="js/jquery-easing-compatibility.1.2.pack.js"></script>
    <script type="text/javascript" src="js/jquery.kwicks-1.5.1.pack.js"></script>
    <script type="text/javascript">
    $().ready(function() {
    $('.jimgMenu ul').kwicks({max: 310, duration: 400, easing: 'easeOutQuad'});
    $(".btn-slide").click(function(){
    $("#.opere").slideToggle("slow");
    $(this).toggleClass("active"); return false;

    });
    $(".btn-slide2").click(function(){
    $("#.libri").slideToggle("slow");
    $(this).toggleClass("active"); return false;
    });
    });
    </script>
    <!--[if IE]>
    <script type="text/javascript">
    $().ready(function() {
    $(".jimgMenu ul").kwicks({max: 310, duration: 400, easing: "easeOutQuad"});
    });
    </script>
    <![endif]-->
    <style type="text/css">
    <!--
    .Stile1 {
    font-size: xx-large;
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #FFFFFF;
    }
    -->
    </style>
    </head>
    <body>

    <div id="contenitore">

    <h1 class="Stile1">Nicola Di Pardo</h1>
    <hr />
    <div class="jimgMenu">
    <ul>
    <li id="landscapes">
    <li id="people">
    <li id="nature">Nature
    <li id="abstract">Abstract
    <li id="urban">Urban[/list]
    </div>
    <hr />

    <div class="opere" style= "display: none;">
    <table width="800" cellpadding="1" cellspacing="1">
    <tr>
    <td width="800" height="120" bordercolor="#FFFFFF"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td>[img]images/opere/miniature/ristomini1.jpg[/img]</td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td>[img]images/opere/miniature/ristomini2.jpg[/img]</td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1">
    <tr>
    <td bordercolor="#FFFFFF"></td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    </tr>
    <tr>
    <td colspan="6"></td>
    </tr>
    <tr>
    <td height="120" bordercolor="#FFFFFF"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1">
    <tr>
    <td bordercolor="#FFFFFF"></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    </tr>
    <tr>
    <td colspan="6"></td>
    </tr>
    </table>
    </div>
    <div class="libri" style= "display: none;">
    <table width="800" cellpadding="1" cellspacing="1">
    <tr>
    <td width="800" height="120" bordercolor="#FFFFFF"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td>[img]images/opere/miniature/ristomini1.jpg[/img]</td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td>[img]images/opere/miniature/ristomini2.jpg[/img]</td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1">
    <tr>
    <td bordercolor="#FFFFFF"></td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td width="800"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    </tr>
    <tr>
    <td colspan="6"></td>
    </tr>
    <tr>
    <td height="120" bordercolor="#FFFFFF"><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1">
    <tr>
    <td bordercolor="#FFFFFF"></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    <td><div align="center">
    <table width="120" height="120" border="1" bordercolor="#FFFFFF">
    <tr>
    <td></td>
    </tr>
    </table>
    </div></td>
    </tr>
    <tr>
    <td colspan="6"></td>
    </tr>
    </table>
    </div>
    </div>

    </body>
    </html>


    Al momento ho aggiunto il codice solo per le prime 2 parti di menu (opere e libri). In seguito una volta trovato il funzionamento aggiungo gli altri div.

    Come vedi con la funzione .kwicks riesco a creare un image menu, poi con l'effetto slide vorrei che ad ogni menu si aprisse il livello col contenuto sotto, e fino a qui tutto funziona.

    Quello che non mi riesce è di far chiudere i livelli già aperti quando apro un altro livello (ad esempio dopo l'apertura del div opere, vorrei che all'apertura di un altro livello si chiudesse il livello precedentemente aperto e si aprisse quello nuovo, sempre con un effetto slide di chiusura- apertura.


    Il risultato attuale l'ho inserito provvisoriamente sul sito : http://www.isoletremitihotel.it , dove è attualmente visibile.

    Ti ringrazio per la tua immane pazienza e per il tuo aiuto, e spero che questo post possa aiutare altri con il mio stesso problema.
    Ciao a tutti.

    Luigi
    Sgarza

  7. #7
    Ho provato con accordion2 con il seguente script:
    <script type="text/javascript">
    $(document).ready(function(){

    $(".accordion2 h3").eq(2).addClass("active");
    $(".accordion2 p").eq(2).show();

    $(".accordion2 h3").click(function(){
    $(this).next("p").slideToggle("slow")
    .siblings("p:visible").slideUp("slow");
    $(this).toggleClass("active");
    $(this).siblings("h3").removeClass("active");
    });

    });
    </script>

    Dove accordion2 h3 sono gli h3 del div #accordion2, che al loro click fanno aprire i p del div accordion2. All'apertura di uno si chiudono gli altri, però qui mi da un solo tipo di variabile e quindi mi fa aprire un solo elemento.....io invece vorrei che ad ogni cosa a cui clicco si apra il rispettivo livello.

    Ariciao e arigrazie
    Sgarza

  8. #8
    Mi servirebbe qualcosa tipo un : collapseprev: true, , ma non so applicarlo....HELP
    Sgarza

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    1
    ciao sgraza, sei riuscito a risolvere il problema?
    ho anch'io la stessa necessità e mi sto picchiando per risolverla.
    attendo tue
    grazie

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    salve approfitto in questa discussione simile alla mia per chiedere un aiuto.
    Il mio problema è che vorrei trovare la sintassi giusta per far aprire un'immagine specifica all'apertura di una pagina e di esplorare con l'effetto mouseover sulle altre immagini e ritornare(mouseout) sull'immagina del menu associata a quella pagina ..ecco il codice

    <script type="text/javascript">
    $().ready(function() {
    $('.jimgMenu ul').kwicks({defaultKwick:4, max: 310, duration: 1000, sticky: true, easing:'easeOutQuad'});
    });
    </script>

    la pagina mostra l'apertura della 5 immagine(defaultKwick:4) , se si passa col mouse sopra alle altre immagini vengono aperte, ma se col mouse si esce da queste immagini, non si apre l'immagine corrispondente a defaultKwick:4....
    chi puo' darmi un suggerimento???

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 © 2024 vBulletin Solutions, Inc. All rights reserved.