<?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>MoebiusMania &#187; mobile</title>
	<atom:link href="http://www.moebiusmania.net/tag/mobile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.moebiusmania.net</link>
	<description>Tutorial, articoli e curiosità sul web e dintorni</description>
	<lastBuildDate>Wed, 01 Feb 2012 20:51:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Gestire le transizioni CSS3 con gli eventi Javascript</title>
		<link>http://www.moebiusmania.net/2012/01/20/gestire-le-transizioni-css3-con-gli-eventi-javascript/</link>
		<comments>http://www.moebiusmania.net/2012/01/20/gestire-le-transizioni-css3-con-gli-eventi-javascript/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 08:00:39 +0000</pubDate>
		<dc:creator>Salvo</dc:creator>
				<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[effetti]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.moebiusmania.net/?p=2998</guid>
		<description><![CDATA[Sicuramente una delle cose che ha suscitato più interesse con i CSS3 è la possibilità di creare delle transizioni animate senza passare da Javascript o Flash e quindi ottenendo ottime [...]]]></description>
			<content:encoded><![CDATA[<p>Sicuramente una delle cose che ha suscitato più interesse con i CSS3 è la possibilità di creare delle transizioni animate senza passare da Javascript o Flash e quindi ottenendo ottime performance in ambito mobile (<em>smartphone e tablet</em>).</p>
<p>Un &#8220;problema&#8221; delle transizioni CSS3 è il fatto che sono legate ai cambiamenti di stato, e nonostante nel linguaggio CSS ne esistono vari, spesso il più utilizzato è :hover ovvero quello responsabile di gestire il passaggio del mouse su un particolare elemento (<a title="CSS tip #5 – Menu con :hover" href="http://www.moebiusmania.net/2009/02/27/css-tip-5-menu-con-hover/">esiste un CSS Tip a riguardo</a>)&#8230; una favolosa interazione che è completamente inutile sui dispositivi touch! <span id="more-2998"></span></p>
<p>Ma non disperate non è ancora tutto perduto perché Javascript è qui per darci una mano, possiamo tranquillamente utilizzare eventi Javascript (<em>uno a caso&#8230; il click!</em>) per far scaturire queste transizioni senza neanche troppa fatica.</p>
<div class="alert-message">Il codice in questo esempio è ottimizzato per i browser a base Webkit, in quanto ha come obiettivo principale il funzionamento su smartphone e tablet!</div>
<p>Tenete pronto jQuery, anche se non è strettamente necessario, ci farà comodo per accedere velocemente agli eventi e alle classi CSS.</p>
<p><a class="btn large" href="http://moebiusmania.net/tutorial/2012/transizioniJs.html" target="_blank">Guardate il file di prova</a> <a class="btn large" href="http://www.html5today.it/tutorial/css3-transitions-tutorial-completo-transizioni-css3" target="_blank"> Le basi delle transizioni CSS3 </a></p>
<h2>1. Preparare il file</h2>
<p>Creiamo un nuovo file Html vuoto nel quale creiamo un elemento &#8220;cavia&#8221;. Un div, un button&#8230; quello che più vi piace, assegnategli un id così sarà più facile selezionarlo dopo.</p>
<pre class="brush:xml">&lt;div id="elemento"&gt;&lt;/div&gt;</pre>
<p>Tramite Css dategli un colore di sfondo e delle dimensioni, giusto per creare un elemento di test, tipo 150&#215;150 pixel con sfondo azzurro.</p>
<h2>2. Creare le regole necessarie</h2>
<p>Nella regola che definisce questo elemento dovremo anche inserire la proprietà &#8220;transition&#8221; (<em>con il prefisso per Webkit</em>) che dirà al browser di eseguire un&#8217;interpolazione quando rileva un cambiamento di proprietà sull&#8217;elemento:</p>
<pre class="brush:css">#elemento{
  -webkit-transition: all 0.5s ease;
}</pre>
<p>Visto che è un oggetto a posizionamento statico useremo  i margini per muoverlo, creiamo una classe che rappresenti lo stato finale della nostra animazione, dandogli un bel margin-left abbondante lo faremo muovere verso destra:</p>
<pre class="brush:css">.spostamento{
  margin-left: 400px;
}</pre>
<p>E per adesso non assegnatela a nessun elemento,</p>
<h2>3. jQuery mette e toglie</h2>
<p>Ora è il turno di jQuery! Dopo averlo incorporato dovremo dirgli che al click sul nostro id elemento dovrà fare qualcosa&#8230; alternare l&#8217;assegnazione e la rimozione di una classe, magari quella creata poco fa, sull&#8217;elemento corrente</p>
<pre class="brush:js">$("#elemento").click(function(){
  $(this).toggleClass("spostamento");
});</pre>
<p>Quindi:</p>
<ol>
<li>si clicca sull&#8217;elemento</li>
<li>jQuery assegna la classe a quest&#8217;ultimo</li>
<li>la proprietà &#8220;transform&#8221; rileva un cambiamento di proprietà e il browser esegue la transizione</li>
<li>si clicca di nuovo e jQuery toglie la classe, altro cambiamento e la transizione va al contrario</li>
<li>e via così&#8230;</li>
</ol>
<h2>4. Opzionale &#8211; versione senza jQuery</h2>
<p>Per chi vuole smanettare un pò di più con Javascript allo stato puro, il codice per fare (quasi tutto) quello ricreato poco fa:</p>
<pre class="brush:js">var elemento = document.querySelector("#elemento");

elemento.addEventListener("click",cambia,false);

function cambia(){
  this.className += " sposta";
  this.removeEventListener("click",cambia,false);
}</pre>
<p>Descrivendo le righe qui sopra:</p>
<ol>
<li>Accedo all&#8217;oggetto con id elemento e lo memorizzo in una variabile Javascript</li>
<li>Aggiungo un event listener per dirgli di richiamare la funzione cambia al click</li>
<li>Nella funzione cambia: aggiungo la classe sposta all&#8217;elemento corrente</li>
<li>Nella funzione cambia: rimuovo l&#8217;event listener per evitare che continui ad aggiungere la stessa classe</li>
</ol>
<p>Rimuovere la classe dall&#8217;elemento e alternare l&#8217;assegna/rimuovi è un po più complesso e va un po fuori l&#8217;argomento di questo breve tutorial&#8230; e poi ragazzi le librerie Javascript come jQuery esistono proprio per questo <img src='http://www.moebiusmania.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<h2>5. Dateci dentro!</h2>
<p>A questo punto direi che è giunto il vostro momento di provare, testare e smanettare. Magari anche con eventi diversi dal click, <a href="http://jqueryui.com/demos/draggable/" target="_blank">jQuery UI</a> mette a disposizione anche il trascinamento (<em>drag</em>)!</p>
<p>Ricordatevi che potete riprovare la demo e scaricare un file già completo e funzionante tornando verso l&#8217;inizio dell&#8217;articolo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moebiusmania.net/2012/01/20/gestire-le-transizioni-css3-con-gli-eventi-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il plug-in &#8220;toccabile&#8221;</title>
		<link>http://www.moebiusmania.net/2010/04/25/il-plug-in-toccabile/</link>
		<comments>http://www.moebiusmania.net/2010/04/25/il-plug-in-toccabile/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 09:47:26 +0000</pubDate>
		<dc:creator>Salvo</dc:creator>
				<category><![CDATA[Senza categoria]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.moebiusmania.net/?p=1555</guid>
		<description><![CDATA[Nonostante Apple  non stia facendo un&#8217;ottima figura con gli sviluppatori recentemente (specialmente gli sviluppatori Flash) ho deciso di ottimizzare MoebiusMania.net per la visualizzazione su dispositivi mobili e touch, specialmente l&#8217;iPhone [...]]]></description>
			<content:encoded><![CDATA[<p>Nonostante Apple  non stia facendo un&#8217;ottima figura con gli sviluppatori recentemente (<em>specialmente gli sviluppatori Flash</em>) ho deciso di ottimizzare MoebiusMania.net per la visualizzazione su dispositivi mobili e touch, specialmente l&#8217;iPhone considerando comunque un dato di qualche mese fa che dava il suddetto dispositivo come fonte del 50% del traffico internet mobile.</p>
<p>Tuttavia al contrario di quanto potreste credere, non è stato affatto un lavoraccio <img src='http://www.moebiusmania.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  e non lo sarà neanche per voi, specialmente se avete un sito che usi come motore <a href="http://it.wordpress.org/" target="_blank">WordPress</a> e installate il plug-in <a href="http://www.bravenewcode.com/products/wptouch/" target="_blank">WPtouch</a>!</p>
<p><span id="more-1555"></span>Questo simpatico ed utile plugin una volta installato abilita una seconda interfaccia per il vostro sito che viene richiamata esclusivamente quando il vostro sito viene visitato da un dispositivo mobile, nonstante non possa essere personalizzata più di tanto la parte grafica offre in cambio una semplice gestione della navigazione mobile, permettendovi di eventualmente escludere certe sezioni del sito per chi lo visita da dispositivi mobili.</p>
<p>Potete vedere questo plugin in azione visitando questo <a href="http://www.moebiusmania.net">MoebiusMania</a>, <a href="http://www.mixyourshot.com/" target="_blank">Mixyourshot</a> e <a href="http://labs.mohole.it" target="_blank">Mohole Labs</a> da iPhone et simili!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moebiusmania.net/2010/04/25/il-plug-in-toccabile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

