{"id":66,"date":"2011-03-13T10:01:54","date_gmt":"2011-03-13T10:01:54","guid":{"rendered":"http:\/\/www.manuelmarangoni.it\/sir-bit\/demon\/?p=66"},"modified":"2015-12-21T15:05:25","modified_gmt":"2015-12-21T14:05:25","slug":"jquery-creare-popup-di-guida-su-specifici-elementi-con-bubble-popup","status":"publish","type":"post","link":"https:\/\/www.manuelmarangoni.it\/sir-bit\/66\/jquery-creare-popup-di-guida-su-specifici-elementi-con-bubble-popup\/","title":{"rendered":"JQuery &#8211; Creare popup di guida su specifici elementi di una pagina con Bubble Popup"},"content":{"rendered":"<div id=\"attachment_127\" style=\"width: 276px\" class=\"wp-caption aligncenter\"><a class=\"lightbox\" title=\"Bubble Popup - esempio\" href=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-content\/uploads\/2011\/03\/bubble-esempio.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-127\" class=\"size-full wp-image-127 \" style=\"margin-bottom: 5px; margin-top: 10px;\" title=\"Bubble Popup - esempio\" src=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-content\/uploads\/2011\/03\/bubble-esempio.jpg\" alt=\"Bubble Popup - esempio\" width=\"266\" height=\"139\" \/><\/a><p id=\"caption-attachment-127\" class=\"wp-caption-text\">Bubble Popup &#8211; esempio<\/p><\/div>\n<p>Quando si creano pannelli di controllo o aree complicate che l&#8217;utente dovr\u00e0 gestire, \u00e8 utile avere a disposizione un mezzo di spiegazione semplice e immediato.<br \/>\nSpulciando tra le rete ho trovato un interessante script che si appoggia a jQuery, la cui versione pi\u00f9 aggiornata e la documentazione sono disponibili a <a title=\"Documentazione e download di JQuery Bubble Popup\" href=\"http:\/\/plugins.jquery.com\/project\/jqBubblePopup\" target=\"_blank\">questo indirizzo<\/a>.<\/p>\n<p>Di cosa si tratta, nel dettaglio?<br \/>\nCon <em>JQuery Bubble Popup<\/em> possiamo <strong>creare dei baloon accanto all&#8217;elemento della pagina voluto<\/strong> e integrarlo con qualsiasi tipo di descrizione: spiegazione dell&#8217;uso dell&#8217;area, messaggi di benvenuto o anche semplici avvisi. Un esempio di base \u00e8 visibile in una <a title=\"Esempio base di JQuery Bubble Popup\" href=\"http:\/\/www.vegabit.com\/Examples\/different-elements.html\" target=\"_blank\">pagina<\/a> della documentazione online. Come potete notare, la popup \u00e8 applicabile a qualsiasi elemento della pagina, che sia un&#8217;immagine, un testo, la componente di un form o l&#8217;area racchiusa dai soliti tag html (<em>&lt;div&gt;<\/em>, <em>&lt;p&gt;<\/em>, ecc.).<br \/>\n<!--more--><br \/>\nIl fascino di questo script \u00e8 la sua <strong>completa personalizzazione<\/strong> e la buona documentazione (presente nello stesso zip scaricato) che elenca le funzioni e le opzioni possibili. I pi\u00f9 afferrati riusciranno ad associare eventi alla popup piuttosto facilmente.<br \/>\nEstrapolo dalla guida alcune delle caratteristiche pi\u00f9 utili:<br \/>\n&#8211; possibilit\u00e0 di inserire testo in formato html.<br \/>\n&#8211; allineamento del balloon, velocit\u00e0 di apertura e distanza dall&#8217;elemento personalizzabili.<br \/>\n&#8211; effetto di fading nella comparsa\/scomparsa del balloon.<br \/>\n&#8211; possibilit\u00e0 di &#8220;bloccare&#8221; la popup all&#8217;apertura della pagina o in seguito a un evento.<br \/>\nNella cartella &#8220;Examples&#8221; dello zip \u00e8 presente una serie di esempi particolari, che mostrano le vere funzionalit\u00e0 dello script.<\/p>\n<p>Nella sua forma base lo script \u00e8 molto semplice da usare. Dentro il tag &lt;head&gt; della pagina basta inserire:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"html4strict\" style=\"font-family: monospace;\"><span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">script<\/span> <span style=\"color: #000066;\">src<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.4.2\/jquery.min.js\"<\/span> <span style=\"color: #000066;\">type<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"text\/javascript\"<\/span>&gt;<\/span><span style=\"color: #808080; font-style: italic;\">&lt;!--mce:0--&gt;<\/span><span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">script<\/span>&gt;<\/span>\r\n<span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">script<\/span> <span style=\"color: #000066;\">src<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"jquery.bubblepopup.v2.3.1.min.js\"<\/span> <span style=\"color: #000066;\">type<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"text\/javascript\"<\/span>&gt;<\/span><span style=\"color: #808080; font-style: italic;\">&lt;!--mce:1--&gt;<\/span><span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">script<\/span>&gt;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>in questo modo saranno inclusi i file <em>jquery.bubblepopup.v2.3.1.css<\/em>, <em>jquery.bubblepopup.v2.3.1.min.js<\/em> e il file js che rende possibile l&#8217;uso di jQuery. Naturalmente si tratta di file, presenti nello zip, che devono essere copiati nella stessa cartella della pagina (fa eccezione il js del jQuery che, in questo caso, \u00e8 richiamato online, ma nulla vieta di includere le classi di jQuery in uno specifico file nel sito).<br \/>\nA ogni modo \u00e8 sufficiente copiare il contenuto della cartella &#8220;Install&#8221; per avere gi\u00e0 pronte le basi e i file inclusi.<\/p>\n<p>Quindi nel body inseriremo la funzione:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"javascript\" style=\"font-family: monospace;\"><span style=\"color: #339933;\">&lt;<\/span>script type<span style=\"color: #339933;\">=<\/span><span style=\"color: #3366cc;\">\"text\/javascript\"<\/span><span style=\"color: #339933;\">&gt;&lt;!--<\/span>mce<span style=\"color: #339933;\">:<\/span><span style=\"color: #cc0000;\">2<\/span><span style=\"color: #339933;\">--&gt;&lt;\/<\/span>script<span style=\"color: #339933;\">&gt;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>A questo punto baster\u00e0 inserire la classe <em>bubble<\/em> all&#8217;interno di un elemento e, passando il mouse sopra a questo, apparir\u00e0 la popup con la scritta &#8220;Questo \u00e8 un messaggio!&#8221;. Esempio:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"html4strict\" style=\"font-family: monospace;\"><span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">div<\/span> <span style=\"color: #000066;\">class<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"bubble\"<\/span>&gt;<\/span>Semplice div con classe bubble<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">div<\/span>&gt;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n\n<p>L&#8217;aspetto della popup \u00e8 personalizzabile a piacere, ma <em>JQuery Bubble Popup<\/em> mette gi\u00e0 a disposizione <strong>una serie di template<\/strong>, visibili nella cartella &#8220;jquerybubblepopup-theme&#8221;.<br \/>\nSi possono poi creare dei &#8220;trucchetti&#8221; per rendere pi\u00f9 fruibile lo script, utili quando si devono creare messaggi diversi per i vari elementi. Per esempio, lo script potrebbe essere modificato in questo modo:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n10\r\n11\r\n12\r\n13<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"javascript\" style=\"font-family: monospace;\">$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'.bubble'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">CreateBubblePopup<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">{<\/span>\r\n\tinnerHtmlStyle<span style=\"color: #339933;\">:<\/span> <span style=\"color: #009900;\">{<\/span>\r\n\t\tcolor<span style=\"color: #339933;\">:<\/span><span style=\"color: #3366cc;\">'#FFFFFF'<\/span><span style=\"color: #339933;\">,<\/span>\r\n\t\t<span style=\"color: #3366cc;\">'text-align'<\/span><span style=\"color: #339933;\">:<\/span><span style=\"color: #3366cc;\">'center'<\/span>\r\n\t<span style=\"color: #009900;\">}<\/span><span style=\"color: #339933;\">,<\/span>\r\n\tthemeName<span style=\"color: #339933;\">:<\/span> \t<span style=\"color: #3366cc;\">'all-black'<\/span><span style=\"color: #339933;\">,<\/span>\r\n\tthemePath<span style=\"color: #339933;\">:<\/span> \t<span style=\"color: #3366cc;\">'jquerybubblepopup-theme'<\/span>\r\n<span style=\"color: #009900;\">}<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n\r\n$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'.bubble'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">mouseover<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #003366; font-weight: bold;\">function<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">{<\/span>\r\n\t<span style=\"color: #003366; font-weight: bold;\">var<\/span> button <span style=\"color: #339933;\">=<\/span> $<span style=\"color: #009900;\">(<\/span><span style=\"color: #000066; font-weight: bold;\">this<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n\tbutton.<span style=\"color: #660066;\">SetBubblePopupInnerHtml<\/span><span style=\"color: #009900;\">(<\/span>button.<span style=\"color: #660066;\">attr<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'bubble_alt'<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #009900;\">}<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Cos\u00ec possiamo associare il tag <em>bubble_alt<\/em> (da me inventato) in quegli elementi che hanno classe <em>bubble<\/em> e creare un messaggio personalizzato. Esempio:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"html4strict\" style=\"font-family: monospace;\"><span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">div<\/span> <span style=\"color: #000066;\">class<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"bubble\"<\/span>&gt;<\/span>Semplice div con classe bubble<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">div<\/span>&gt;<\/span>\r\n\r\n<span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">select<\/span> <span style=\"color: #000066;\">class<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"bubble\"<\/span> <span style=\"color: #000066;\">name<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"id_cliente\"<\/span>&gt;<\/span>\r\n<span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">option<\/span> <span style=\"color: #000066;\">value<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"0\"<\/span>&gt;<\/span>Num1<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">option<\/span>&gt;<\/span>\r\n<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">select<\/span>&gt;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Passando sopra la scritta apparir\u00e0 il balloon con il messaggio &#8220;Primo messaggio nel balloon&#8221;. Passando invece sopra alla select apparir\u00e0 il balloon con scritto &#8220;Secondo messaggio nel balloon&#8221;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Con Bubble Popup possiamo creare balloon, con messaggi personalizzati, su qualsiasi elemento della pagina. Utile per creare guide mirate e spiegazioni.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80],"tags":[12,11],"class_list":["post-66","post","type-post","status-publish","format-standard","hentry","category-javascript-e-derivati","tag-javascript","tag-jquery","cat-80-id"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/66"}],"collection":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":31,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"predecessor-version":[{"id":2118,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/66\/revisions\/2118"}],"wp:attachment":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}