Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Eliminare elementi da una lista con animazioni ad effetto grazie a jQuery

Articolo scritto da Maico Orazio
Pagina 2 di 2

Come possiamo vedere nell'intestazione (<head>...</head>) abbiamo richiamato tre files: un foglio di stile e due Javascript. Di seguito propongo il codice del foglio di stile che ho utilizzato (personalizzabile secondo le vostre esigenze):

* {
  margin: 0;
  padding: 0;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
}
a {
  text-decoration: none;
  color: #000000;
}
a:hover {
  text-decoration: none;
  color: #cc0000;
}
#main {
  width: 500px;
  margin-top: 20px;
  margin-left: 100px;
}
ol.messaggi {
  list-style: none;
  font-size: 1.2em;
}
ol.messaggi li {
  height: 50px;
  border-bottom: #dedede dashed 1px;
}
ol.messaggi li:first-child {
  border-top: #dedede dashed 1px;
  height: 50px;
}
.delete_button {
  float: right;
  margin-left: 10px;
  font-weight: bold;
}
Oltre al foglio di stile, come detto, vengono richiamati due file Javascript: il primo è il semplice richiamo alla libreria jQuery (che potete scaricare liberamente dal sito jquery.com), mentre il secondo contiene la funzione preposta alla cancellazione del messaggio. Quest'ultimo costituisce il fulcro di tutto il nostro esempio. Di seguito il codice sorgente del file "cancella.js":
$(function() {
  $(".delete_button").click(function() {
  var id = $(this).attr("id");
  var dataString = 'id='+ id ;
  var parent = $(this).parent();

  $.ajax({
    type: "POST", 
    url: "deleteajax.php", 
    data: dataString, 
    cache: false, 
    success: function() { parent.fadeOut('slow', function() {$(this).remove();}); }
  });

  return false;
  });
});
La prima riga del nostro codice (che sfrutta le potenzialità offerte da JQuery) permette di catturare l'evento click su ciascun ancora X associata la classe delete_button; subito dopo utilizzando il metodo attr preleviamo il valore del tag id della stessa ancora che rappresenta l'identificativo del messaggio.
Per poter cancellare il messaggio utilizzeremo una richiesta asincrona ajax, tramite il metodo $.ajax di jQuery inizializziamo le opzioni: tipo invio dati (POST), url script PHP che effettuerà la cancellazione vera e propria (deleteajax.php), dati da inviare (dataString) e l'opzione success con cui applichiamo l'effetto FadeOut all'elemento della lista quando la chiamata ritorna con successo.

Per finire vi propongo il codice della pagina deleteajax.php contenente alcune semplici istruzioni PHP necessarie ad eliminare il messaggio dal database:

<?php
include("dbconfig.php");
	
if($_POST['id']) {
  $id = $_POST['id'];
  $id = mysql_escape_String($id);
  $sql = "delete from messaggi where msg_id='$id'";
  mysql_query( $sql);
}
?>
Non vi resta che testare il tutto... e gustarvi il bell'effetto prodotto da questa fantastica libreria!

Corsi
Corso AJAXCorso AJAX
Applicazioni Web 2.0 basate su AJAX con ASP, ASP.NET e PHP. A partire da 39 €.
Corso JavascriptCorso Javascript
Guida completa allo scripting lato client. A partire da 39 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. Sconto -25% sino al 23/05/2012.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122