Web Design I
INTRODUZIONE A JAVASCRIPT
CARLO FRINOLLI
email: carlo.frinolli@nois3.it
fb: www.facebook.com/carlo.frinolli
Cos’è JavaScript
E comunque l'avreste dovuto capire da Baku :P
Oggetti
Perché è tanto importante
No.
JavaScript non è novità.
Piccola storia
Piccola storia pt.2
Dato il successo di JavaScript come linguaggio per arricchire le pagine web, Microsoft sviluppò un linguaggio compatibile, conosciuto come JScript. La necessità di specifiche comuni fu alla base dello standard ECMA 262 per ECMAScript, di cui sono state pubblicate tre edizioni da quando il lavoro iniziò, nel novembre 1996.” (fonte Wikipedia)
Perché JS diventa popolare?
Javascript le basi
-
Stringhe
-
Variabili
-
Operatori
- Flussi condizionali (if then else)
-
Cicli di iterazione (for, while, )
- Funzioni
Variabili
var nomeVariabile;
nomeVariabile = “VALORE”;
Metodi?
history.back();
Funzioni queste sconosciute?
function nomeFunzione() {
// qui il nostro codice
}
nomeFunzione();
function nomeFunzione(par1, par2) {
alert(par1);
alert(par2);
}
Operatori di confronto...
> < = <= >= != ==
Il flusso del programma
If then else!
if (condizione) {
...
istruzioni
} else {
...
istruzioni
}
if then else if
if (condizione) {
...
istruzioni
} else if (condizione2) {
...
istruzioni
} then {
...
istruzioni
}
gli array
var casellario = [];
casellario[0] = “Primo”;
casellario[1] = “Secondo”;
var casellario = [“Primo”, “Secondo”, “Terzo”, “Quarto”];
Diversi tipi di array...
var arrayNumerico = [1,2,3,4,5,6];
var arrayStringhe = [“Primo”, “Secondo”, “Terzo”, “Quarto”];
var arrayMisto = [“Primo”, “Secondo”, “Terzo”, “Quarto”, 23];
E quanto sei lungo?
var arrayNumerico = [1,2,3,4,5,6];
var totale = arrayNumerico.length;
alert(arrayNumerico(totale));
Operatori e stringhe
var completa = “com” + “pleta”;
var nome = “Mario Rossi”;
var frase = “il mio nome è “ + nome;
Stringhe
var stringa =”questa è una stringa”;
var stringa =”questa è una ‘stringa’”;
var stringa =”questa è una \”stringa\””;
var stringa =’questa è una \’stringa\’’;
Tipizzazione
var nomeVariabile = 1;
nomeVariabile = “stringa”;
nomeVariabile = -2.33;
Operazioni
Il senso è chiaramente, quello di assegnare alla variabile il risultato dell’operazione stessa.
var somma = 4 + 6;
var sottrazione = 10-3;
var somma = semisomma + 6;
Variabili di appoggio
var anni = 26;
anni = anni + 1;
anni += 1;
anni++;
var++ o ++var?
var anni = 26;
var anniCopia = anni++;
alert(anniCopia);
var anniCopia = ++anni;
alert(anniCopia);
IL DOM
Let the fun begin.
JS e DOM
Selezionare elementi DOM
document.getElementById(‘nomeid’);
document.getElementByTagname(‘tagname’);
Esercizio
document.getElementById(‘content’);
jQuery
please welcome the most used
JS framework in the world.
Cos'è
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. It was released in January 2006 at BarCamp NYC by John Resig.
It is currently developed by a team of developers led by Dave Methvin. Used by over 65% of the 10,000 most visited websites, jQuery is the most popular JavaScript library in use today.
Cosa fa
jQuery includes the following features:
- DOM element selections using the multi-browser open source selector engine Sizzle, a spin-off of the jQuery project
- DOM traversal and modification (including support for CSS 1–3)
- DOM manipulation based on CSS selectors that uses node elements name and node elements attributes (id and class) as criteria to build selectors
- Events
- Effects and animations
E poi
... continua
- AJAX
- JSON parsing
- Extensibility through plug-ins
- Utilities - such as user agent information, feature detection
- Compatibility methods that are natively available in modern browsers but need fall backs for older ones - For example the
inArray()
andeach()
functions.- Multi-browser (not to be confused with cross-browser) support.
Ok. Ma in pratica?
Gli orbit di Foundation, l'off-canvas...
Un caso d'uso
Il menu dropdown che abbiamo realizzato in solo CSS,
aveva un difetto preciso, che lo rende inutilizzabile
nelle interazioni complesse.
Perché?
Le liste a scomparsa sono dentro il mark-up dell'area hover.
Se tutto fosse fatto così, sarebbe un delirio di posizionamenti
Selezionare elementi DOM
Se il nostro menu dropdown sapeva già dove pescare
gli elementi da far vedere sull'hover della voce padre
perché era materialmente dentro in termini di markup,
ci servirebbe un meccanismo rapido e compatto per
selezionare nodi DOM all'interno di una pagina Web.
in JavaScript per poterlo selezionare si deve scrivere
getElementByID('id-del-nodo');
non esiste getElementByClass nativamente in JavaScript,
va implementato di volta in volta.
La sintassi jQuery
$('#id-del-nodo')
VSgetElementById('id-del-nodo');
È un vantaggio?
In termini di caratteri scritti, sì.
In termini di complessità degli script, anche.
Cosa comporta?
L'inclusione di alcune decine di KB scritti da altri.
Beccati sta classe
$('.nome-della-class');
Ma cos'è il risultato di questa operazione?
Il risultato è un Oggetto JavaScript.
Su cui potete applicare Metodi.
E sopratutto, cos'è sto $ che appare all'inizio?
È una funzione definita dentro jQuery.
D'altronde $ è un carattere no?
$
È una funzione definita dentro jquery.js
function $(arg1, arg2, arg3) {
// Implementazione
}
e come tale se includete lo script è a disposizione delle
vostre operazioni, altrimenti vi restituirà errore.
Il 90% delle volte in cui vi restituirà errore non l'avete incluso correttamente.
WD I - Introduzione a JavaScript
By Carlo Frinolli
WD I - Introduzione a JavaScript
- 1,162