<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MaiNick Web &#187; javascript</title>
	<atom:link href="http://www.mainickweb.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mainickweb.com</link>
	<description>Web 2.0, Ajax, JavaScript, PHP,  xHTML e Css</description>
	<lastBuildDate>Thu, 15 Jul 2010 06:00:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Semplice menu verticale scorrevole con jQuery</title>
		<link>http://www.mainickweb.com/semplice-menu-verticale-scorrevole-con-jquery/</link>
		<comments>http://www.mainickweb.com/semplice-menu-verticale-scorrevole-con-jquery/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 07:00:43 +0000</pubDate>
		<dc:creator>MaiNick</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[liste verticali]]></category>
		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=240</guid>
		<description><![CDATA[

 
In questo articolo vi mostrerò come creare un semplice menu scorrevole utilizzando jQuery. 
Al passaggio del mouse su una delle voci di menu principale viene fuori il rispettivo sub-menu, quando il mouse passa su un&#8217;altra voce del menu principale si apre il suo sub-menu chiudendo quello precedente. 
La prima cosa da fare è quella di inserire il [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-247" title="menu verticale scorrevole" src="http://www.mainickweb.com/wp-content/2009/06/menu-verticale-scorrevole.png" alt="menu verticale scorrevole" width="660" height="171" /></p>
<p><span id="more-240"></span></p>
<p> </p>
<p>In questo articolo vi mostrerò come creare un semplice menu scorrevole utilizzando jQuery. </p>
<p>Al passaggio del mouse su una delle voci di menu principale viene fuori il rispettivo sub-menu, quando il mouse passa su un&#8217;altra voce del menu principale si apre il suo sub-menu chiudendo quello precedente. </p>
<p>La prima cosa da fare è quella di inserire il seguente codice all&#8217;interno della sezione <em>&lt;head&gt;</em>: </p>
<pre name="code" class="html:nogutter">
&lt;link rel="stylesheet" href="css/style.css" type="text/css" media="screen, projection" /&gt;
&lt;script src="js/jquery-1.3.2.min.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/menu.js" type="text/javascript"&gt;&lt;/script&gt;
</pre>
<p>Si può notare che ci sono 3 file <strong>style.css</strong>, <strong>jquery-1.3.4.min.js</strong> e <strong>menu.js</strong>: il primo file rappresenta lo stile del menu che tratterò dopo; il secondo file è la libreria <strong>jQuery 1.3.2</strong> che potete scaricare dal sito <a title="jQuery: The Write Less, Do More, JavaScript Library" href="http://www.jquery.com" target="_blank">jquery.com</a> o caricarla direttamente dai server di <a title="Libreria jQuery dai server di Google" href="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" target="_blank">Google</a>; il terzo file contiene il codice delle funzioni ed è il seguente: </p>
<pre name="code" class="javascript:nogutter">
$(document).ready(function(){
    //
    // Nascondo tutti i menu principali
    $("#menu1 &gt; ul")
        .animate({bottom:"0px"},{queue:false,duration:350})
        .css("display","none");
    $("#menu2 &gt; ul")
        .animate({bottom:"0px"},{queue:false,duration:350})
        .css("display","none");
    $("#menu3 &gt; ul")
        .animate({bottom:"0px"},{queue:false,duration:350})
        .css("display","none");

    $("#menu1").hover(function(){
        //
        // effetto uscita altri menu
        $("#menu2 &gt; ul")
            .animate({top:"-200px"},{queue:false,duration:350})
            .css("display","none");
        $("#menu3 &gt; ul")
            .animate({top:"-200px"},{queue:false,duration:350})
            .css("display","none");
        //
        // effetto entrata menu
        $("#menu1 &gt; ul")
            .animate({top:"33px"},{queue:false,duration:350})
            .css("display","block");
    });

    $("#menu2").hover(function(){
        //
        // effetto uscita altri menu
        $("#menu1 &gt; ul")
            .animate({top:"-200px"},{queue:false,duration:350})
            .css("display","none");
        $("#menu3 &gt; ul")
            .animate({top:"-200px"},{queue:false,duration:350})
            .css("display","none");
        //
        // effetto entrata menu
        $("#menu2 &gt; ul")
            .animate({top:"33px"},{queue:false,duration:350})
            .css("display","block");
    });

    $("#menu3").hover(function(){
        //
        // effetto uscita altri menu
        $("#menu1 &gt; ul")
            .animate({top:"-200px"},{queue:false,duration:350})
            .css("display","none");
        $("#menu2 &gt; ul")
            .animate({top:"-200px"},{queue:false,duration:350})
            .css("display","none");
        //
        // effetto entrata menu
        $("#menu3 &gt; ul")
            .animate({top:"33px"},{queue:false,duration:350})
            .css("display","block");
    });
});
</pre>
<p>La prima riga del codice precedente significa che quando viene caricato il documento vengono eseguite le funzioni al suo interno.</p>
<p>La prima parte del codice permette di nascondere le voci dei sub-menu, in modo che se javascript non è attivo vengono lo stesso visualizzati.</p>
<p>Bisogna poi creare le altri parti del codice per ogni voce di menu principale: il metodo <em>hover</em> di jQuery permette di catturare l&#8217;evento di passaggio del mouse sulla voce di menu e eseguire il codice al suo interno, che contemporaneamente all&#8217;apertura del rispettivo sub-menu chiude tutti gli altri sub-menu. <br />
Il metodo <em>animate</em> permette di eseguire un&#8217;animazione sull&#8217;oggetto dalla posizione iniziale alla posizione <em>top</em> scritta con una velocità descritta dalla durata in millesecondi dell&#8217;animazione, visualizzando o nascondendo l&#8217;oggetto impostando con il metodo <em>css</em> la proprietà <em>display</em>.</p>
<p>Il codice html della pagina non è altro che un insieme di elenchi non ordinati di cui ad ogni voce dell&#8217;elenco principale è creato un nuovo elenco con le voci del sub-menu: </p>
<pre name="code" class="html:nogutter">
&lt;div id="menu-wrapper"&gt;
    &lt;ul&gt;
        &lt;li id="menu1" class="menu"&gt;
            &lt;div class="menu-title"&gt;&lt;a href="#" onclick="return false;"&gt;Menu 1&lt;/a&gt;&lt;/div&gt;
            &lt;ul class="submenu"&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 1.1&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 1.2&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 1.3&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 1.4&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 1.5&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li id="menu2" class="menu"&gt;
            &lt;div class="menu-title"&gt;&lt;a href="#" onclick="return false;"&gt;Menu 2&lt;/a&gt;&lt;/div&gt;
            &lt;ul class="submenu"&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 2.1&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 2.2&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 2.3&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 2.4&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 2.5&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li id="menu3" class="menu"&gt;
            &lt;div class="menu-title"&gt;&lt;a href="#" onclick="return false;"&gt;Menu 3&lt;/a&gt;&lt;/div&gt;
            &lt;ul class="submenu"&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 3.1&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 3.2&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 3.3&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 3.4&lt;/a&gt;&lt;/li&gt;
                &lt;li&gt;&lt;a href="#"&gt;Sub-menu 3.5&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Ad ogni voce di elenco principale assegniamo un <em>id</em> a cui applicare il metodo <em>hover</em> per eseguire l&#8217;effetto desiderato, mentre le classi assegnato le utilizzeremo per specificare le proprietà dello stile css:</p>
<pre name="code" class="css:nogutter">
#menu-wrapper {
    position: absolute;
    height: 300px;
    overflow: hidden;
}
#menu-wrapper ul {
    margin: 0;
    padding: 0;
}
li.menu {
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    list-style: none;
}
div.menu-title {
    width: 200px;
    height: 33px;
    margin-right: 20px;
    background-color: #00689b;
}
div.menu-title a {
    padding-left: 15px;
    color: #fff;
    font-size: 24px;
    font-weight: bolder;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 33px;
}
ul.submenu {
    position: absolute;
    width: 200px;
}
ul.submenu li {
    height: 22px;
    margin-bottom: 1px;
    background-color: #00689b;
    line-height: 22px;
    list-style: none;
}
ul.submenu li a {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
}
</pre>
<p>Il selettore <em>menu-wrapper</em> raggruppiamo tutto il menu dandogli un&#8217;altezza massima e specificando la proprietà <em>overflow</em> per nascondere tutto ciò che è al di fuori di esso.</p>
<p>La classe <em>menu-title</em> specifichiamo le proprietà da assegnare alle voci del menu principale; la classe <em>submenu</em> per le voci dei sub-menu. </p>
<p align="center"><a href="http://www.mainickweb.com/esempi/menu_jquery/index.html" title="Demo menu verticale scorrevole con jQuery" class="codice" target="_blank"><span>Demo</span></a> <a href="http://www.mainickweb.com/esempi/menu_jquery/menu_jquery.zip" title="Codice menu verticale scorrevole con jQuery" class="codice"><span>Codice</span></a></p>
<p>Spero che ti sia utile, grazie per la lettura non dimenticarti di iscriverti via RSS per tutte le novità sperando di avere più tempo libero e scrivere altri nuovi articoli.</p>



Condividi:


	<a rel="nofollow"  target="_blank" href="http://www.diggita.it/submit.php?url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F&title=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery" title="Diggita"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/diggita.png" title="Diggita" alt="Diggita" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F&amp;title=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery&amp;notes=%0D%0A%0D%0A%0A%0A%C2%A0%0D%0A%0D%0AIn%20questo%20articolo%20vi%20mostrer%C3%B2%20come%20creare%20un%20semplice%20menu%20scorrevole%20utilizzando%20jQuery.%C2%A0%0D%0A%0D%0AAl%20passaggio%20del%20mouse%20su%20una%20delle%20voci%20di%20menu%20principale%20viene%20fuori%20il%20rispettivo%20sub-menu%2C%20quando%20il%20mouse%20passa%20su%20un%27altra%20voce%20del%20me" title="del.icio.us"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F&amp;title=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery&amp;bodytext=%0D%0A%0D%0A%0A%0A%C2%A0%0D%0A%0D%0AIn%20questo%20articolo%20vi%20mostrer%C3%B2%20come%20creare%20un%20semplice%20menu%20scorrevole%20utilizzando%20jQuery.%C2%A0%0D%0A%0D%0AAl%20passaggio%20del%20mouse%20su%20una%20delle%20voci%20di%20menu%20principale%20viene%20fuori%20il%20rispettivo%20sub-menu%2C%20quando%20il%20mouse%20passa%20su%20un%27altra%20voce%20del%20me" title="Digg"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F&amp;t=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery" title="Facebook"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery%20-%20http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F" title="Twitter"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery&amp;link=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F" title="FriendFeed"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F&amp;title=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery" title="StumbleUpon"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F&amp;t=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery&amp;s=%0D%0A%0D%0A%0A%0A%C2%A0%0D%0A%0D%0AIn%20questo%20articolo%20vi%20mostrer%C3%B2%20come%20creare%20un%20semplice%20menu%20scorrevole%20utilizzando%20jQuery.%C2%A0%0D%0A%0D%0AAl%20passaggio%20del%20mouse%20su%20una%20delle%20voci%20di%20menu%20principale%20viene%20fuori%20il%20rispettivo%20sub-menu%2C%20quando%20il%20mouse%20passa%20su%20un%27altra%20voce%20del%20me" title="Tumblr"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F&amp;title=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery&amp;annotation=%0D%0A%0D%0A%0A%0A%C2%A0%0D%0A%0D%0AIn%20questo%20articolo%20vi%20mostrer%C3%B2%20come%20creare%20un%20semplice%20menu%20scorrevole%20utilizzando%20jQuery.%C2%A0%0D%0A%0D%0AAl%20passaggio%20del%20mouse%20su%20una%20delle%20voci%20di%20menu%20principale%20viene%20fuori%20il%20rispettivo%20sub-menu%2C%20quando%20il%20mouse%20passa%20su%20un%27altra%20voce%20del%20me" title="Google Bookmarks"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Semplice%20menu%20verticale%20scorrevole%20con%20jQuery&amp;body=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-scorrevole-con-jquery%2F" title="email"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.mainickweb.com/feed/" title="RSS"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/semplice-menu-verticale-scorrevole-con-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fissare il problema dell&#8217;overflow orizzontale IE</title>
		<link>http://www.mainickweb.com/fissare-il-problema-delloverflow-orizzontale-ie/</link>
		<comments>http://www.mainickweb.com/fissare-il-problema-delloverflow-orizzontale-ie/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 05:30:53 +0000</pubDate>
		<dc:creator>MaiNick</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[overflow]]></category>
		<category><![CDATA[overflow orizzontale]]></category>
		<category><![CDATA[plugin jquery]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=143</guid>
		<description><![CDATA[Internet Explorer ha una diversa impostazione dell&#8217;overflow rispetto a Firefox o Safari.

Ho trovato questo plugin per jQuery che permette di fissare il problema dell&#8217;overflow orizzontale sullo stesso browser. E&#8217; possibile seguire il progetto alla pagina dell&#8217;autore.
In particolare , Firefox e altri, se si ha un overflow orizzontale dell&#8217;elemento pone la barra di scorrimento sul lato [...]]]></description>
			<content:encoded><![CDATA[<p>Internet Explorer ha una diversa impostazione dell&#8217;<strong>overflow</strong> rispetto a Firefox o Safari.</p>
<p><span id="more-143"></span></p>
<p>Ho trovato questo plugin per jQuery che permette di fissare il <strong>problema dell&#8217;overflow orizzontale</strong> sullo stesso browser. E&#8217; possibile seguire il <a href="http://remysharp.com/2008/01/21/fixing-ie-overflow-problem/" title="fissare il problema dell'overflow orizzontale in Internet Explorer">progetto</a> alla pagina dell&#8217;autore.</p>
<p>In particolare , Firefox e altri, se si ha un overflow orizzontale dell&#8217;elemento pone la barra di scorrimento sul lato esterno dell&#8217;elemento. In Internet Explorer, se non possiamo vedere tutto il contenuto in verticale, genera la barra di scorrimento verticale, insieme alla barra di scorrimento orizzontale.</p>
<p>Ma il caso peggiore si ha quando abbiamo una <strong>sola riga overflowed</strong>: la barra di scorrimento orizzontale non è estesa su tutto l&#8217;elemento, rimane comunque un piccolo spazio laterale per la barra di scorrimento verticale anche non visualizzandola.</p>
<p>Seguendo l&#8217;autore, una soluzione al problema è di applicare i seguenti passi, solo per Internet Explorer:</p>
<ol>
<li>trovare tutti gli elementi il cui contenuto è visualizzato con barra di scorrimento orizzontale</li>
<li>aggiungere 20 pixel di padding-bottom agli elementi</li>
<li>scostare la barra di scorrimento verticale</li>
</ol>
<p>E&#8217; possibile applicare questi tre punti tramite JavaScript:</p>
<pre name="code" class="javascript">
window.onload = function () {
  // solo IE
  if (!/*@cc_on!@*/0) return;

  // trova gli element di prova
  var all = document.getElementsByTagName('*');
  var i = all.length;

  while (i--) {
    // se scrollWidth (la reale larghezza) è superiore alla
    // alla larghezza visibile, applicare le modifiche di stile
    if (all[i].scrollWidth > all[i].offsetWidth) {
      all[i].style['paddingBottom'] = '20px';
      all[i].style['overflowY'] = 'hidden';
    }
  }
};
</pre>
<p>o creare un <strong>plugin per jQuery</strong> con tale codice: </p>
<pre name="code" class="javascript">
(function ($) {
  $.fn.fixOverflow = function () {
    if ($.browser.msie) {
      return this.each(function () {
        if (this.scrollWidth > this.offsetWidth) {
          $(this).css({ 'padding-bottom' : '20px', 'overflow-y' : 'hidden' });
        }
      });
    } else {
      return this;
    }
  };
})(jQuery);

// uso
$('pre').fixOverflow().doOtherPlugin();
</pre>



Condividi:


	<a rel="nofollow"  target="_blank" href="http://www.diggita.it/submit.php?url=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F&title=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE" title="Diggita"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/diggita.png" title="Diggita" alt="Diggita" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F&amp;title=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE&amp;notes=Internet%20Explorer%20ha%20una%20diversa%20impostazione%20dell%27overflow%20rispetto%20a%20Firefox%20o%20Safari.%0D%0A%0D%0A%0A%0AHo%20trovato%20questo%20plugin%20per%20jQuery%20che%20permette%20di%20fissare%20il%20problema%20dell%27overflow%20orizzontale%20sullo%20stesso%20browser.%20E%27%20possibile%20seguire%20il%20progetto%20all" title="del.icio.us"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F&amp;title=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE&amp;bodytext=Internet%20Explorer%20ha%20una%20diversa%20impostazione%20dell%27overflow%20rispetto%20a%20Firefox%20o%20Safari.%0D%0A%0D%0A%0A%0AHo%20trovato%20questo%20plugin%20per%20jQuery%20che%20permette%20di%20fissare%20il%20problema%20dell%27overflow%20orizzontale%20sullo%20stesso%20browser.%20E%27%20possibile%20seguire%20il%20progetto%20all" title="Digg"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F&amp;t=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE" title="Facebook"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE%20-%20http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F" title="Twitter"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE&amp;link=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F" title="FriendFeed"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F&amp;title=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE" title="StumbleUpon"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F&amp;t=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE&amp;s=Internet%20Explorer%20ha%20una%20diversa%20impostazione%20dell%27overflow%20rispetto%20a%20Firefox%20o%20Safari.%0D%0A%0D%0A%0A%0AHo%20trovato%20questo%20plugin%20per%20jQuery%20che%20permette%20di%20fissare%20il%20problema%20dell%27overflow%20orizzontale%20sullo%20stesso%20browser.%20E%27%20possibile%20seguire%20il%20progetto%20all" title="Tumblr"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F&amp;title=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE&amp;annotation=Internet%20Explorer%20ha%20una%20diversa%20impostazione%20dell%27overflow%20rispetto%20a%20Firefox%20o%20Safari.%0D%0A%0D%0A%0A%0AHo%20trovato%20questo%20plugin%20per%20jQuery%20che%20permette%20di%20fissare%20il%20problema%20dell%27overflow%20orizzontale%20sullo%20stesso%20browser.%20E%27%20possibile%20seguire%20il%20progetto%20all" title="Google Bookmarks"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Fissare%20il%20problema%20dell%27overflow%20orizzontale%20IE&amp;body=http%3A%2F%2Fwww.mainickweb.com%2Ffissare-il-problema-delloverflow-orizzontale-ie%2F" title="email"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.mainickweb.com/feed/" title="RSS"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/fissare-il-problema-delloverflow-orizzontale-ie/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Validare form con LiveValidation</title>
		<link>http://www.mainickweb.com/validare-form-con-livevalidation/</link>
		<comments>http://www.mainickweb.com/validare-form-con-livevalidation/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 13:17:49 +0000</pubDate>
		<dc:creator>MaiNick</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[validare input]]></category>
		<category><![CDATA[validazione]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=131</guid>
		<description><![CDATA[

I form sono molto utili per un iterazione con gli utenti visitatori del sito, ma nella compilazione non c’è situazione più noiosa di essere avvisati, riguardo un errore di compilazione, dopo averlo inviato.
Ci occupiamo in questo articolo di LiveValidation, una libreria in javascript che sto studiando in questi giorni, che risulta (tra quelle provate) la [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a href="http://www.livevalidation.com/" target="_blank"><img class="aligncenter size-full wp-image-132" style="border: 0pt none; padding: 0px 20px;" title="livevalidation" src="http://www.mainickweb.com/wp-content/2008/10/livevalidation.jpg" alt="" width="400" height="132" /></a></div>
<p><span id="more-131"></span></p>
<p>I form sono molto utili per un iterazione con gli utenti visitatori del sito, ma nella compilazione non c’è situazione più noiosa di essere avvisati, riguardo un errore di compilazione, dopo averlo inviato.</p>
<p>Ci occupiamo in questo articolo di <a title="LiveValidation - Validare durante la digitazione" href="http://www.livevalidation.com" target="_blank"><strong>LiveValidation</strong></a>, una libreria in javascript che sto studiando in questi giorni, che risulta (tra quelle provate) la più semplice nell&#8217;utilizzo ed efficace.</p>
<p>Il sito ufficiale della libreria presenta oltre al <a title="download libreria di validazione" href="http://www.livevalidation.com/download" target="_blank">download</a>, una completa <a title="documentazione LiveValidation" href="http://www.livevalidation.com/documentation" target="_blank">documentazione</a> e una pagina ricca di <a title="regole input validati" href="http://www.livevalidation.com/examples" target="_blank">esempi</a>. Sono previste due versioni: una versione basata su Prototype e quella standalone (per utilizzarla con qualsiasi altro javascript framework), e per ciascuna è disponibile una versione compressa.</p>
<h2>Validare input</h2>
<p>Per utilizzare la libreria bisogna inserirla nella sezione head del documento, in questo modo:</p>
<pre name="code" class="javascript:nogutter">&lt;script type="text/javascript" src="js/livevalidation_standalone.js"&gt;&lt;/script&gt;</pre>
<p>Tutti i campi da validare nel form della pagina devono essere associati ad un <strong>ID identificativo univoco</strong>. Subito dopo la form, bisogna inserire il codice javascript che richiama la <strong>funzione di validazione</strong> della libreria:</p>
<pre name="code" class="html">&lt;input type="text" id="campo" /&gt;
&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo');
    valCampo.add(funzione della libreria);
&lt;/script&gt;</pre>
<p>Nella prima riga del codice abbiamo creato un nuovo oggetto LiveValidation che ha come argomento l&#8217;ID dell&#8217;input, andiamo poi ad aggiungere all&#8217;oggetto il metodo della libreria che vogliamo utilizzare per la convalida dell&#8217;input.</p>
<p>Il primo esempio prodotto, aggiungendo il metodo Presence, esso effettua la verifica sull&#8217;<strong>avvenuta compilazione del campo</strong>. Provando l&#8217;<a title="Campo obbligatorio" href="http://www.mainickweb.com/esempi/validare-form/campo-obbligatorio.html" target="_blank">esempio</a> noterete la presenza degli avvisi in inglese, impostati di default incorporati nel codice della libreria.</p>
<p>Per poterli personalizzare, senza mettere mani al codice della libreria, LiveValidation consente di definire una serie di parametri per ogni modulo, tra cui dei messaggi che andranno a sovrascrivere quelli di default.</p>
<p>Modifichiamo il primo esempio, <strong>personalizzando i messaggi di avviso</strong> (<a title="Campo obbligatorio - avviso" href="http://www.mainickweb.com/esempi/validare-form/campo-obbligatorio2.html" target="_blank">esempio</a>):</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add(Validate.Presence, { failureMessage: "Il campo deve essere compilato" });
&lt;/script&gt;</pre>
<p>Il metodo Format consente di validare il contenuto inserito nel campo rispetto ad un&#8217;<strong>espressione regolare</strong> definita come parametro (<a title="Campo validato rispetto una espressione regolare" href="http://www.mainickweb.com/esempi/validare-form/espressione-regolare.html" target="_blank">esempio</a>):</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add(Validate.Format, { pattern: /stringa/i, failureMessage: "Devi inserire la parola stringa" });
&lt;/script&gt;</pre>
<p>Il campo sarà validato solo se al suo interno viene inserita la stringa &#8216;<em>stringa</em>&#8216;.</p>
<p>Per <strong>validare valori numerici</strong> si utilizza il metodo Numericality (<a title="Valore numerico" href="http://www.mainickweb.com/esempi/validare-form/campo-numerico.html" target="_blank">esempio</a>):</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add(Validate.Numericality, { notANumberMessage: "Devi inserire un valore numerico" });
&lt;/script&gt;</pre>
<p>In questo caso, per impostare il messaggio di non validità, il parametro da usare è notANumberMessage.</p>
<p>Al metodo Numericality è possibile passare ulteriori parametri:</p>
<ul>
<li>onlyInteger = true &#8211; validare solo numeri interi (non decimali)</li>
<li> is: 15 &#8211; verifica che il valore inserito sia 15</li>
<li>minimum: 12 &#8211; verifica che il valore inserito sia maggiore o uguale a 12</li>
<li>maximum: 22 &#8211; verifica che il valore inserito sia minore o uguale a 22</li>
</ul>
<p>I parametri sopra possono essere combinati, l&#8217;unica espressione che non è possibile combinare è &#8216;is&#8217; con &#8216;minimum&#8217; o &#8216;maximum&#8217;, dove &#8216;is&#8217; avrà la precedenza. Questo <a title="Valore numerico intero compreso tra 12 e 22" href="http://www.mainickweb.com/esempi/validare-form/campo-numerico-in-range.html" target="_blank">esempio</a> verifica che il valore inserito rientri in un range e sia intero:</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add(Validate.Numericality, { minimum: 12, maximum: 22, onlyInteger: true, notANumberMessage: "Devi inserire un valore numerico", notAnIntegerMessage: "Deve essere un numero intero", tooLowMessage: "Non deve essere inferiore a 12", tooHighMessage: "Non deve essere superiore a 22" });
&lt;/script&gt;</pre>
<h2>Altri tipi di validazione</h2>
<h3>Lunghezza</h3>
<p>E&#8217; possibile utilizzare gli stessi parametri descritti sopra per il metodo Length, con il quale è possibile validare un campo rispetto al <strong>numero dei caratteri</strong> inseriti.</p>
<h3>Inclusione ed esclusione</h3>
<p>E&#8217; possibile impostare una serie di valori rispetto alla quale verificare la <strong>corrispondenza esatta o parziale</strong> del contenuto inserito nel campo. Attraverso il metodo Inclusion il campo sarà validato solo se contiene i valori passati:</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add( Validate.Inclusion, { within: [ 'mainick' , 'blog', 'javascript' ] } );
&lt;/script&gt;</pre>
<p>Al contrario, usando il metodo Exclusion il campo non sarà validato se contiene i valori passati:</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add( Validate.Exclusion, { within: [ 'mainick' , 'blog', 'javascript' ] } );
&lt;/script&gt;</pre>
<p>Passando il parametro &#8216;partialMatch: true&#8217; è possibile controllare anche solo su una parte della stringa.</p>
<h3>Checkbox</h3>
<p>Attraverso il metodo Acceptance è possibile verificare che un <strong>checkbox sia stato o meno spuntato</strong> (esempio):</p>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add(Validate.Acceptance, { failureMessage: "Devi spuntarla" });
&lt;/script&gt;</pre>
<h3>Conferma</h3>
<p>Il metodo Confirmation verifica l&#8217;<strong>uguaglianza tra due input</strong>, molto utile per la <strong>verifica della password</strong>:</p>
<pre name="code" class="html">Inserisci password: &lt;input type="password" id="password" /&gt;&lt;br /&gt;
Conferma password: &lt;input type="password" id="confPass" /&gt;
&lt;script type="text/javascript"&gt;
    var valConfPass = new LiveValidation('confPass', { validMessage = "OK" });
    valConfPass.add(Validate.Confirmation, { match: 'password', failureMessage: "Le password non coincidono" });
&lt;/script&gt;</pre>
<h3>E-mail</h3>
<pre name="code" class="javascript">&lt;script type="text/javascript"&gt;
    var valCampo = new LiveValidation('campo', { validMessage: "OK" });
    valCampo.add(Validate.Email, { failureMessage: "Devi inserire un indirizzo e-mail valido" });
&lt;/script&gt;</pre>
<h2>Validare form</h2>
<p>E&#8217; possibile combinare i diversi metodi descritti sopra su un solo campo.</p>
<p>Il costruttore della libreria consente di istituire il campo del form come un oggetto LiveValidation a cui è possibile passare alcuni parametri facoltativi:</p>
<ul>
<li>validMessage &#8211; messaggio visualizzato alla validazione del campo</li>
<li>onlyOnBlur: true &#8211; consente di effettuare la validazione solo quando l&#8217;input perde il focus</li>
<li>wait: 500 &#8211; tempo desiderato prima di validare l&#8217;input dall&#8217;ultima volta che si è premuto un tasto</li>
<li>onlyOnSubmit: true &#8211; consente di effettuare la validazione sol quando il modulo sarà inviato</li>
</ul>
<h2>Personalizzare lo stile degli avvisi</h2>
<p>Tramite un foglio di stile possiamo <strong>personalizzare lo stile e la formattazione degli avvisi</strong>. E&#8217; possibile definire appena cinque regole con classi che si applicano ai messaggi di avviso e ai campi:</p>
<pre name="code" class="css">/* classe che si applica a tutti i messaggi di validazione */
.LV_validation_message {
    font-weight: bold;
    margin: 0 0 0 5px;
}
/* classe che si applica ai messaggi di validità */
.LV_valid {
    color: #00CC00;
}
/* classe che si applica ai messaggi di non validità */
.LV_invalid {
    color: #CC0000;
}
/* stili applicati ai campi validi */
.LV_valid_field,
input.LV_valid_field:hover,
input.LV_valid_field:active,
textarea.LV_valid_field:hover,
textarea.LV_valid_field:active {
    border: 1px solid #00CC00;
}
/* stili applicati ai campi non validi */
.LV_invalid_field,
input.LV_invalid_field:hover,
input.LV_invalid_field:active,
textarea.LV_invalid_field:hover,
textarea.LV_invalid_field:active {
    border: 1px solid #CC0000;
}</pre>



Condividi:


	<a rel="nofollow"  target="_blank" href="http://www.diggita.it/submit.php?url=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F&title=Validare%20form%20con%20LiveValidation" title="Diggita"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/diggita.png" title="Diggita" alt="Diggita" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F&amp;title=Validare%20form%20con%20LiveValidation&amp;notes=%0A%0A%0D%0AI%20form%20sono%20molto%20utili%20per%20un%20iterazione%20con%20gli%20utenti%20visitatori%20del%20sito%2C%20ma%20nella%20compilazione%20non%20c%E2%80%99%C3%A8%20situazione%20pi%C3%B9%20noiosa%20di%20essere%20avvisati%2C%20riguardo%20un%20errore%20di%20compilazione%2C%20dopo%20averlo%20inviato.%0D%0A%0D%0ACi%20occupiamo%20in%20questo%20articolo%20" title="del.icio.us"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F&amp;title=Validare%20form%20con%20LiveValidation&amp;bodytext=%0A%0A%0D%0AI%20form%20sono%20molto%20utili%20per%20un%20iterazione%20con%20gli%20utenti%20visitatori%20del%20sito%2C%20ma%20nella%20compilazione%20non%20c%E2%80%99%C3%A8%20situazione%20pi%C3%B9%20noiosa%20di%20essere%20avvisati%2C%20riguardo%20un%20errore%20di%20compilazione%2C%20dopo%20averlo%20inviato.%0D%0A%0D%0ACi%20occupiamo%20in%20questo%20articolo%20" title="Digg"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F&amp;t=Validare%20form%20con%20LiveValidation" title="Facebook"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Validare%20form%20con%20LiveValidation%20-%20http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F" title="Twitter"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Validare%20form%20con%20LiveValidation&amp;link=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F" title="FriendFeed"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F&amp;title=Validare%20form%20con%20LiveValidation" title="StumbleUpon"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F&amp;t=Validare%20form%20con%20LiveValidation&amp;s=%0A%0A%0D%0AI%20form%20sono%20molto%20utili%20per%20un%20iterazione%20con%20gli%20utenti%20visitatori%20del%20sito%2C%20ma%20nella%20compilazione%20non%20c%E2%80%99%C3%A8%20situazione%20pi%C3%B9%20noiosa%20di%20essere%20avvisati%2C%20riguardo%20un%20errore%20di%20compilazione%2C%20dopo%20averlo%20inviato.%0D%0A%0D%0ACi%20occupiamo%20in%20questo%20articolo%20" title="Tumblr"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F&amp;title=Validare%20form%20con%20LiveValidation&amp;annotation=%0A%0A%0D%0AI%20form%20sono%20molto%20utili%20per%20un%20iterazione%20con%20gli%20utenti%20visitatori%20del%20sito%2C%20ma%20nella%20compilazione%20non%20c%E2%80%99%C3%A8%20situazione%20pi%C3%B9%20noiosa%20di%20essere%20avvisati%2C%20riguardo%20un%20errore%20di%20compilazione%2C%20dopo%20averlo%20inviato.%0D%0A%0D%0ACi%20occupiamo%20in%20questo%20articolo%20" title="Google Bookmarks"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Validare%20form%20con%20LiveValidation&amp;body=http%3A%2F%2Fwww.mainickweb.com%2Fvalidare-form-con-livevalidation%2F" title="email"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.mainickweb.com/feed/" title="RSS"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/validare-form-con-livevalidation/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Semplice menu verticale con effetto fisarmonica via JavaScript!</title>
		<link>http://www.mainickweb.com/semplice-menu-verticale-con-effetto-fisarmonica-via-javascript/</link>
		<comments>http://www.mainickweb.com/semplice-menu-verticale-con-effetto-fisarmonica-via-javascript/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 15:50:50 +0000</pubDate>
		<dc:creator>MaiNick</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[accordions]]></category>
		<category><![CDATA[effetto fisarmonica]]></category>
		<category><![CDATA[effetto javascript]]></category>
		<category><![CDATA[script javascript veloce]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=12</guid>
		<description><![CDATA[

Di effetti a fisarmonica in JavaScript ne sono stati creati moltissimi, ma quello che oggi vi voglio presentare ha una caratteristica molto importante per gli sviluppatori, è leggerissimo.
Uno JavaScript che vi permette di avere un effetto fisarmonica sul menu o qualsiasi altro box dei vostri siti internet. La caratteristica fondamentale, come dicevo prima, è che [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-13" style="border: none;padding:0 20px;" title="simpleAccordions" src="http://www.mainickweb.com/wp-content/2008/07/simpleaccordions.jpg" alt="Simple Accordions" width="381" height="236" /></p>
<p><span id="more-12"></span></p>
<p>Di effetti a fisarmonica in JavaScript ne sono stati creati moltissimi, ma quello che oggi vi voglio presentare ha una caratteristica molto importante per gli sviluppatori, è <strong>leggerissimo</strong>.</p>
<p>Uno JavaScript che vi permette di avere un <strong>effetto fisarmonica sul menu o qualsiasi altro box dei vostri siti internet</strong>. <strong>La caratteristica fondamentale, come dicevo prima, è che pesa poco più di 1Kb</strong>, questo rende lo script <strong>più funzionale e veloce nel caricamento</strong>.</p>
<p>Uno degli <strong>accordion script più piccoli</strong> ed estremamente semplice e facile da integrare. Non richiede alcun <a title="Framework - Wikipedia" href="http://it.wikipedia.org/wiki/Framework" target="_blank">framework</a> ed è completamente cross-browser compatibile.</p>
<p>La prima cosa da fare è quella di inserire il seguente codice JavaScript, all&#8217;interno della sezione &lt;head&gt; del vostro sito:</p>
<pre name="code" class="javascript:nogutter">
&lt;script type="text/javascript" src="js/accordian.pack.js"&gt;&lt;/script&gt;
</pre>
<p>e inserire all&#8217;interno del tag &lt;body&gt; il seguente codice JavaScript per il controllo della fisarmonica e per caricare all&#8217;apertura della pagina lo script:</p>
<pre name="code" class="html:nogutter">
&lt;body onload="new Accordian('basic-accordian',5,'header_highlight');"&gt;
&lt;/body&gt;
</pre>
<p>che è nella forma:</p>
<pre name="code" class="html:nogutter">
&lt;body onload="new Accordian('id DIV container',velocità,'classe voce di fisarmonica');"&gt;
&lt;/body&gt;
</pre>
<p>Una volta inserito questo andremo a creare il nostro menu o box con il seguente codice:</p>
<pre name="code" class="html">
<div id="basic-accordian"><!--DIV Container Accordion-->
<div>Simple Accordions</div>

    <!--Inizio voce di fisarmonica-->
<div id="test-header" class="accordion_headings header_highlight">Home</div>

    <!--Voce della fisarmonica (clic per mostrare) -->
    <!--Prefisso della voce (il DIV di sopra) e del contenuto (il DIV al di sotto di questa) devono essere lo stesso ... ad es. foo-header &#038; foo-content-->
<div id="test-content"><!--DIV che viene mostrato / nascosto facendo clic su voce di intestazione-->
<div class="accordion_child"><!--Questo DIV è utilizzato come padding...-->
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc ligula nisl, egestas non, pharetra vel, scelerisque accumsan, lacus. Proin nibh. Aenean dapibus. Quisque facilisis, ligula ut blandit hendrerit, purus neque rhoncus ipsum, sit amet ultrices mauris augue non arcu. Donec et sem nec libero viverra accumsan.
        </div>
</div>

    <!--Fine voce di fisarmonica-->
    <!--Inizio voce di fisarmonica-->
<div id="test1-header" class="accordion_headings" >
<div id="test1-content">
<div class="accordion_child">
        Quisque facilisis, ligula ut blandit hendrerit, purus neque rhoncus ipsum, sit amet ultrices mauris augue non arcu. Donec et sem nec libero viverra accumsan.
        </div>
</div>

    <!--Fine voce di fisarmonica-->
    <!--Inizio voce di fisarmonica-->
<div id="test1-header" class="accordion_headings">About Us</div>
<div id="test1-content">
<div class="accordion_child">
        Quisque facilisis, ligula ut blandit hendrerit, purus neque rhoncus ipsum, sit amet ultrices mauris augue non arcu. Donec et sem nec libero viverra accumsan.
        </div>
</div>

    <!--Fine voce di fisarmonica-->
    <!--Iniziovoce di fisarmonica-->
<div id="test2-header" class="accordion_headings">Downloads</div>
<div id="test2-content">
<div class="accordion_child">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc ligula nisl, egestas non, pharetra vel, scelerisque accumsan, lacus. Proin nibh. Aenean dapibus. Quisque facilisis, ligula ut blandit hendrerit, purus neque rhoncus ipsum, sit amet ultrices mauris augue non arcu. Donec et sem nec libero viverra accumsan.
        </div>
</div>

    <!--Fine voce di fisarmonica-->
</div>

<!--Fine DIV Container Accordion-->
</div>
</pre>
<p>Terminate queste tre operazioni avremo un menu con effetto fisarmonica <strong>leggero e funzionante al 100%</strong>. Lo script è veramente comodo, un altro <strong>effetto 2.0 da inserire sul nostro sito personale</strong>.</p>
<p>Maggiori informazioni sullo script li troverete nel <a title="Simple Javascript Accordions" href="http://www.dezinerfolio.com/2007/07/19/simple-javascript-accordions/" target="_blank"><strong>sito</strong></a> dell&#8217;autore; è possibile vedere anche cosa fa lo script stesso andando alla pagina dedicata alle <a title="Simple Javascript Accordions - demo" href="http://www.dezinerfolio.com/wp-content/uploads/accordemo/01.html" target="_blank"><strong>demo</strong></a>.</p>



Condividi:


	<a rel="nofollow"  target="_blank" href="http://www.diggita.it/submit.php?url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F&title=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21" title="Diggita"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/diggita.png" title="Diggita" alt="Diggita" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F&amp;title=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21&amp;notes=%0D%0A%0D%0A%0A%0ADi%20effetti%20a%20fisarmonica%20in%20JavaScript%20ne%20sono%20stati%20creati%20moltissimi%2C%20ma%20quello%20che%20oggi%20vi%20voglio%20presentare%20ha%20una%20caratteristica%20molto%20importante%20per%20gli%20sviluppatori%2C%20%C3%A8%20leggerissimo.%0D%0A%0D%0AUno%20JavaScript%20che%20vi%20permette%20di%20avere%20un%20effetto%20" title="del.icio.us"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F&amp;title=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21&amp;bodytext=%0D%0A%0D%0A%0A%0ADi%20effetti%20a%20fisarmonica%20in%20JavaScript%20ne%20sono%20stati%20creati%20moltissimi%2C%20ma%20quello%20che%20oggi%20vi%20voglio%20presentare%20ha%20una%20caratteristica%20molto%20importante%20per%20gli%20sviluppatori%2C%20%C3%A8%20leggerissimo.%0D%0A%0D%0AUno%20JavaScript%20che%20vi%20permette%20di%20avere%20un%20effetto%20" title="Digg"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F&amp;t=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21" title="Facebook"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21%20-%20http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F" title="Twitter"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21&amp;link=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F" title="FriendFeed"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F&amp;title=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21" title="StumbleUpon"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F&amp;t=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21&amp;s=%0D%0A%0D%0A%0A%0ADi%20effetti%20a%20fisarmonica%20in%20JavaScript%20ne%20sono%20stati%20creati%20moltissimi%2C%20ma%20quello%20che%20oggi%20vi%20voglio%20presentare%20ha%20una%20caratteristica%20molto%20importante%20per%20gli%20sviluppatori%2C%20%C3%A8%20leggerissimo.%0D%0A%0D%0AUno%20JavaScript%20che%20vi%20permette%20di%20avere%20un%20effetto%20" title="Tumblr"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F&amp;title=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21&amp;annotation=%0D%0A%0D%0A%0A%0ADi%20effetti%20a%20fisarmonica%20in%20JavaScript%20ne%20sono%20stati%20creati%20moltissimi%2C%20ma%20quello%20che%20oggi%20vi%20voglio%20presentare%20ha%20una%20caratteristica%20molto%20importante%20per%20gli%20sviluppatori%2C%20%C3%A8%20leggerissimo.%0D%0A%0D%0AUno%20JavaScript%20che%20vi%20permette%20di%20avere%20un%20effetto%20" title="Google Bookmarks"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Semplice%20menu%20verticale%20con%20effetto%20fisarmonica%20via%20JavaScript%21&amp;body=http%3A%2F%2Fwww.mainickweb.com%2Fsemplice-menu-verticale-con-effetto-fisarmonica-via-javascript%2F" title="email"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.mainickweb.com/feed/" title="RSS"><img src="http://www.mainickweb.com/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/semplice-menu-verticale-con-effetto-fisarmonica-via-javascript/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
