1 00:00:00,000 --> 00:00:02,690 [Powered by Google Translate] [Seminario: JQUERY] 2 00:00:02,690 --> 00:00:04,790 [Vipul Shekhawat, Harvard University] 3 00:00:04,790 --> 00:00:08,000 [Questa è CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:10,640 Se si sta seguendo a casa, si può effettivamente accedere mie diapositive in linea 5 00:00:10,640 --> 00:00:13,310 andando a questo link. 6 00:00:13,310 --> 00:00:18,650 E 'TjjRWj, su bit.ly. 7 00:00:18,650 --> 00:00:20,700 È anche possibile accedere alla URL direttamente, 8 00:00:20,700 --> 00:00:27,300 che è cloud.cs50.net / ~ vshekhawat, che è il mio nome, 9 00:00:27,300 --> 00:00:32,409 e jQuery. 10 00:00:32,409 --> 00:00:34,920 I consigliamo vivamente di seguire insieme se stai guardando in casa, 11 00:00:34,920 --> 00:00:40,650 e se siete qui, anche, perché questa è una presentazione piuttosto interattivo. 12 00:00:40,650 --> 00:00:43,160 >> Così oggi ho intenzione di parlare di jQuery, e la prima domanda è: 13 00:00:43,160 --> 00:00:45,300 ciò che è jQuery? 14 00:00:45,300 --> 00:00:47,090 Quest'anno, io so che voi ragazzi non hanno coperto JavaScript 15 00:00:47,090 --> 00:00:51,080 nel modo più dettagliato come abbiamo fatto negli anni passati. 16 00:00:51,080 --> 00:00:53,150 JavaScript è, prima di tutto, solo un linguaggio lato client 17 00:00:53,150 --> 00:00:58,390 che si utilizza per eseguire script e codice sul computer di ogni utente. 18 00:00:58,390 --> 00:01:00,660 In modo da avere un server che fornisce le pagine web per le persone, 19 00:01:00,660 --> 00:01:02,600 ma si potrebbe desiderare di fare cose sulla loro macchina, 20 00:01:02,600 --> 00:01:08,060 chiedere la loro macchina per inviare richieste al server ogni 30 secondi o qualcosa di simile. 21 00:01:08,060 --> 00:01:10,420 Potete farlo utilizzando JavaScript. 22 00:01:10,420 --> 00:01:13,190 JQuery solo fornisce più funzionalità in cima JavaScript 23 00:01:13,190 --> 00:01:15,680 che fa roba in più per voi. 24 00:01:15,680 --> 00:01:17,710 Se si guardano i contenuti in primo piano, 25 00:01:17,710 --> 00:01:21,410 che descrive alcune delle cose che siete in grado di fare. 26 00:01:21,410 --> 00:01:23,500 Dunque, nel complesso, è stato creato nel gennaio 2006. 27 00:01:23,500 --> 00:01:26,560 E 'stato il primo a concepire nel mese di agosto 2005. 28 00:01:26,560 --> 00:01:31,370 E 'stato in giro per un paio di anni, ed è davvero una parte del nuovo movimento Web 2.0 29 00:01:31,370 --> 00:01:34,330 che ha fatto di Internet in modo lucido. 30 00:01:34,330 --> 00:01:37,630 E 'la libreria JavaScript più utilizzato. 31 00:01:37,630 --> 00:01:41,450 Oltre 19,6 milioni siti lo usano, e l'utilizzo è ancora in aumento 32 00:01:41,450 --> 00:01:45,640 secondo builtwith.com, che, a quanto pare, nel corso dell'ultimo anno, 33 00:01:45,640 --> 00:01:49,710 è appena stato in continuo aumento abbastanza lineare. 34 00:01:49,710 --> 00:01:52,870 Tra i primi 10 milioni di siti, c'è ancora - 35 00:01:52,870 --> 00:01:55,180 circa il 40% di loro sono attualmente utilizzando. 36 00:01:55,180 --> 00:01:58,540 Facebook lo usa, un sacco di altri siti web fanno uso. 37 00:01:58,540 --> 00:02:01,540 Potete guardare le statistiche sul proprio, se vuoi. 38 00:02:01,540 --> 00:02:05,820 E si potrebbe dire che è legittimo perché ha un fondamento e di 13 membri del consiglio, 39 00:02:05,820 --> 00:02:11,910 insieme ad un team di 20 persone che lavorano su di esso su una base regolare. 40 00:02:11,910 --> 00:02:16,110 Quindi è molto usato, ha un URL org., È fantasia, 41 00:02:16,110 --> 00:02:21,660 ha spin-off per altre cose, quindi è un grosso problema. 42 00:02:21,660 --> 00:02:24,510 >> Perché si dovrebbe usare? JQuery è molto leggero. 43 00:02:24,510 --> 00:02:27,270 Ciò significa che non è un file enorme. È possibile scaricare 44 00:02:27,270 --> 00:02:31,540 il file minified, che è senza tutto lo spazio e commenti bianco, ed è a soli 32 kB. 45 00:02:31,540 --> 00:02:33,600 Così è facile buttare solo sulla tua pagina web 46 00:02:33,600 --> 00:02:35,910 e giusto per iniziare ad usarlo. 47 00:02:35,910 --> 00:02:39,630 E 'anche molto efficiente scritto, quindi non ci vuole un sacco di - 48 00:02:39,630 --> 00:02:42,550 che non rallenta il tuo sito web molto quando lo si utilizza. 49 00:02:42,550 --> 00:02:45,770 Esso consente di implementare le cose che prima erano impraticabili. 50 00:02:45,770 --> 00:02:47,790 Ci sono alcuni aspetti di funzionalità, 51 00:02:47,790 --> 00:02:51,780 come la creazione di animazioni, che normalmente sarebbe molto, molto difficile da fare. 52 00:02:51,780 --> 00:02:54,300 Ma in jQuery sono in realtà molto semplice. 53 00:02:54,300 --> 00:02:57,040 E ci sono alcune cose che sono fastidiosi da fare, 54 00:02:57,040 --> 00:02:59,610 possibile in JavaScript, come l'invio di una richiesta POST, 55 00:02:59,610 --> 00:03:02,190 ma di inviare una richiesta a un server, si deve scrivere 56 00:03:02,190 --> 00:03:04,320 cinque o sei o sette righe di codice. 57 00:03:04,320 --> 00:03:07,200 Ora si può solo farlo in una sola riga di codice, in una sola chiamata di funzione. 58 00:03:07,200 --> 00:03:11,790 Che semplifica davvero un sacco di roba che si sta facendo. 59 00:03:11,790 --> 00:03:15,950 E tutti i ragazzi fighi stanno usando. Con questo, mi voglio dire. 60 00:03:15,950 --> 00:03:19,270 Nel mio progetto finale dello scorso anno, che è news.whrb.org, 61 00:03:19,270 --> 00:03:22,530 che è per la stazione radio, ho creato questo blog 62 00:03:22,530 --> 00:03:29,750 che ospita tutti gli spettacoli che abbiamo fatto e il file MP3 per loro. 63 00:03:29,750 --> 00:03:32,070 È possibile navigare attraverso gli ultimi spettacoli, 64 00:03:32,070 --> 00:03:34,130 ed è tutto fatto utilizzando jQuery. Si può dire 65 00:03:34,130 --> 00:03:37,340 a causa di tutte queste animazioni, essenzialmente. 66 00:03:37,340 --> 00:03:42,360 Quindi, se avete - se si sta creando un nuovo post, 67 00:03:42,360 --> 00:03:45,980 vedete questi piccoli slideDowns; che è tutto fatto utilizzando jQuery. 68 00:03:45,980 --> 00:03:49,140 E questa dissolvenza - in modo che tipo di cose è tutto fatto utilizzando jQuery, 69 00:03:49,140 --> 00:03:52,720 e non c'è bisogno di ricaricare costantemente la pagina per navigare il sito. 70 00:03:52,720 --> 00:03:57,220 Un'altra cosa interessante che è fatto utilizzando jQuery è questa presentazione. 71 00:03:57,220 --> 00:03:59,700 Sto usando questa cosa open source chiamato scrolldeck, 72 00:03:59,700 --> 00:04:03,250 che qualcuno ha scritto su di jQuery. 73 00:04:03,250 --> 00:04:04,870 Se effettivamente guarda alla sorgente, si può vedere che 74 00:04:04,870 --> 00:04:07,830 che stanno usando questo segno del dollaro; segno del dollaro 75 00:04:07,830 --> 00:04:12,110 sono utilizzati in jQuery per indicare che una funzione è una funzione jQuery. 76 00:04:12,110 --> 00:04:15,020 Così stanno definendo un wrapper su di jQuery 77 00:04:15,020 --> 00:04:18,570 che ti permette di fare una presentazione di questo tipo, 78 00:04:18,570 --> 00:04:21,200 e si può vedere che qui stanno includendo il file jQuery originale, 79 00:04:21,200 --> 00:04:24,120 che è quello che si dovrà includere, se si desidera utilizzare jQuery 80 00:04:24,120 --> 00:04:30,450 nei vostri siti web. 81 00:04:30,450 --> 00:04:32,790 >> Toccando il che, come si installa? 82 00:04:32,790 --> 00:04:36,150 Si può solo andare a jQuery.com e scaricare il file, 83 00:04:36,150 --> 00:04:38,320 aggiungerlo a una directory web e includerlo. 84 00:04:38,320 --> 00:04:42,200 Quindi, solo in cima, nel tag head del file HTML 85 00:04:42,200 --> 00:04:45,400 del file HTML principale, basta che la riga di codice 86 00:04:45,400 --> 00:04:49,490 con la versione corretta per la versione di jQuery che si sta utilizzando. 87 00:04:49,490 --> 00:04:51,340 Potete scaricarlo andando a jQuery.com, 88 00:04:51,340 --> 00:04:55,130 cliccare "download jQuery," e ce l'hai. Tutto qui. 89 00:04:55,130 --> 00:04:58,880 E in realtà, possiamo dare un'occhiata a quello che sembra. 90 00:04:58,880 --> 00:05:01,080 Se si clicca su scarica qui, jQuery è questo. 91 00:05:01,080 --> 00:05:05,260 E 'solo un unico grande file JavaScript che fa tutte le cose magia per voi. 92 00:05:05,260 --> 00:05:09,270 Questa è la versione minified, che non è leggibile a tutti. 93 00:05:09,270 --> 00:05:13,180 È anche possibile guardare la versione di sviluppo, che è leggibile 94 00:05:13,180 --> 00:05:15,370 ma ancora molto, molto lungo. 95 00:05:15,370 --> 00:05:17,980 E 'un sacco di roba lì. 96 00:05:17,980 --> 00:05:20,240 È inoltre possibile collegare alla versione di Google ospitato di esso. 97 00:05:20,240 --> 00:05:23,820 In modo che ti permettono di fare affidamento solo su Google di fornirle. 98 00:05:23,820 --> 00:05:29,310 Dispongono di ogni versione, disponibile in ogni momento. 99 00:05:29,310 --> 00:05:31,530 Così si può probabilmente fare affidamento su Google per ospitare per voi. 100 00:05:31,530 --> 00:05:33,270 Oppure si può collegare al proprio ultima versione di jQuery. 101 00:05:33,270 --> 00:05:36,400 Essi hanno un URL che è sempre aggiornato all'ultima versione. 102 00:05:36,400 --> 00:05:40,850 E 'jQuery-ultima, e non c'è un problema con questo, 103 00:05:40,850 --> 00:05:44,350 che è che se il jQuery aggiornato e alcune delle funzionalità precedenti 104 00:05:44,350 --> 00:05:47,250 avevano diventa retrogrado o deprecato, 105 00:05:47,250 --> 00:05:49,620 esso non può - si può iniziare a non farsi più supportate. 106 00:05:49,620 --> 00:05:52,940 Quindi, se si scrive un sito Web utilizzando la versione 1.8.2, 107 00:05:52,940 --> 00:05:55,000 dalla versione 2.7 ora viene fuori 108 00:05:55,000 --> 00:05:57,000 alcune delle funzioni che hai scritto non funzionano più. 109 00:05:57,000 --> 00:05:59,930 Quindi è meglio scaricare solo il file 32 kB, 110 00:05:59,930 --> 00:06:04,100 metterla sulla tua pagina web, e funzionerà sempre. 111 00:06:04,100 --> 00:06:07,450 >> Ho intenzione di andare avanti e iniziare a parlare l'effettiva funzionalità di jQuery. 112 00:06:07,450 --> 00:06:13,090 La prima cosa è selettori. Questo è ciò che jQuery è stato inizialmente concepito per fornire. 113 00:06:13,090 --> 00:06:15,500 Ed è possibile fare clic sulla documentazione da guardare 114 00:06:15,500 --> 00:06:18,690 la documentazione dettagliata per i selettori che ho intenzione di essere di copertura. 115 00:06:18,690 --> 00:06:24,120 L'idea alla base di selettori è che è possibile selezionare elementi HTML di una pagina. 116 00:06:24,120 --> 00:06:28,790 Elementi di una pagina dispongono di ID e classi e altri aspetti che identificano a loro. 117 00:06:28,790 --> 00:06:30,500 C'è anche - Stanno in ordine diverso. 118 00:06:30,500 --> 00:06:32,570 Una parte del tempo stanno annidati uno dentro l'altro. 119 00:06:32,570 --> 00:06:38,120 JQuery permette di costruire query semplici che recuperano elementi della pagina. 120 00:06:38,120 --> 00:06:41,890 Poi si può manipolare questi elementi utilizzando le funzioni di jQuery, 121 00:06:41,890 --> 00:06:43,990 che è la sezione manipolazione ci arriveremo dopo. 122 00:06:43,990 --> 00:06:46,040 È possibile modificare il codice HTML, modificare il CSS, 123 00:06:46,040 --> 00:06:50,500 è anche possibile animare e aggiungere funzioni che attivano su determinati eventi. 124 00:06:50,500 --> 00:06:52,710 Così, per esempio, se è cliccato qualcosa, si vuole che accada qualcosa, 125 00:06:52,710 --> 00:06:55,210 è possibile farlo utilizzando jQuery pure. 126 00:06:55,210 --> 00:06:57,380 E ci sono un numero enorme di modi per selezionare gli elementi. 127 00:06:57,380 --> 00:07:00,310 La maggior parte di loro non ho mai usato, ma ci sono quelli di base, 128 00:07:00,310 --> 00:07:02,340 che sono abbastanza importanti. 129 00:07:02,340 --> 00:07:05,750 Il selettore di elemento, ad esempio, se si sta solo selezionare nulla 130 00:07:05,750 --> 00:07:10,640 che è un div - Io in realtà sono il codice aperto per la presentazione di diapositive. 131 00:07:10,640 --> 00:07:13,450 Così, per esempio, ecco la prima diapositiva. 132 00:07:13,450 --> 00:07:17,430 Qui abbiamo un div. Se abbiamo effettivamente selezionare tutti i div nella pagina, 133 00:07:17,430 --> 00:07:22,300 sarà solo darci un array di tutti i div che esistono in questo file. 134 00:07:22,300 --> 00:07:27,040 Il selettore ID consente di selezionare qualsiasi cosa con un determinato ID. 135 00:07:27,040 --> 00:07:32,230 Quindi, se questo, per esempio, questa cosa ha l'ID "che cosa", 136 00:07:32,230 --> 00:07:37,160 e se abbiamo fatto questo con # quello che invece di un documento d'identità, 137 00:07:37,160 --> 00:07:42,920 sarebbe solo restituire un array con un solo elemento e cioè che elemento della pagina. 138 00:07:42,920 --> 00:07:45,490 Possiamo anche combinare selettori in questo modo da avere 139 00:07:45,490 --> 00:07:48,260 selezionare solo le cose con gli ID che sono div. 140 00:07:48,260 --> 00:07:51,810 Quindi sì. Selezionare solo i div che hanno quel ID. 141 00:07:51,810 --> 00:07:55,260 Per la classe è sufficiente utilizzare un punto, è la stessa cosa di CSS. 142 00:07:55,260 --> 00:07:57,500 Discendente funziona anche, quindi se avete un po 'di classe 143 00:07:57,500 --> 00:08:00,170 e ha nidificato elementi all'interno di esso - così, ad esempio, 144 00:08:00,170 --> 00:08:03,260 vi è una certa classe e ha un tag di ancoraggio per un collegamento a un'altra pagina, 145 00:08:03,260 --> 00:08:08,510 è possibile utilizzare questa sintassi per recuperare il link. 146 00:08:08,510 --> 00:08:12,420 È anche possibile selezionare più cose contemporaneamente, basta separarli con virgole, 147 00:08:12,420 --> 00:08:17,360 utilizzare qualsiasi selettore vuoi, e selezionerete tutti in una volta, in un singolo array. 148 00:08:17,360 --> 00:08:19,650 E poi c'è anche la non selezione, in modo da poter selezionare tutti i div 149 00:08:19,650 --> 00:08:24,210 che non hanno un po 'di classe specifica. 150 00:08:24,210 --> 00:08:28,790 E questo è solo un modo utile per avere una introduzione a come funziona questa selezione. 151 00:08:28,790 --> 00:08:32,270 Vi mostrerò alcuni esempi concreti in un secondo. 152 00:08:32,270 --> 00:08:35,480 >> Selettori avanzati sono - questi sono solo alcuni esempi. 153 00:08:35,480 --> 00:08:38,840 Ci sono decine di questi, ma se si desidera selezionare tutti i tag di immagine 154 00:08:38,840 --> 00:08:42,799 all'interno di qualche elemento, quindi basta fare: immagine. 155 00:08:42,799 --> 00:08:45,340 Se si desidera selezionare gli elementi, anche, per esempio, se ci sono 20 di loro, 156 00:08:45,340 --> 00:08:48,290 si desidera selezionare 0, 2, 4, 6 e così via, 157 00:08:48,290 --> 00:08:51,630 si fa: anche, o si può anche fare: strano. 158 00:08:51,630 --> 00:08:55,470 Questi sono pseudo selettori, il che significa che in realtà calcolano 159 00:08:55,470 --> 00:09:00,960 ogni altro elemento piuttosto che solo andando e selezionando tutti loro. 160 00:09:00,960 --> 00:09:05,510 È possibile anche - ogni elemento può anche avere attributi specifici. 161 00:09:05,510 --> 00:09:10,580 Così, per esempio, classe = centro è anche un attributo. 162 00:09:10,580 --> 00:09:16,500 Per questo tag anchor, href, riferimento ipertestuale, è un attributo anche. 163 00:09:16,500 --> 00:09:21,150 Così si può scegliere qualcosa che si collega a una pagina specifica o solo - è davvero generale. 164 00:09:21,150 --> 00:09:25,410 È possibile selezionare qualsiasi cosa con qualsiasi attributo che vuoi. 165 00:09:25,410 --> 00:09:27,470 E poi, anche, attributo contiene. 166 00:09:27,470 --> 00:09:30,420 Se, per esempio, ha voluto selezionare tutti gli elementi di input 167 00:09:30,420 --> 00:09:32,700 che hanno la parola "pass", come il nome di loro, 168 00:09:32,700 --> 00:09:37,560 se una pagina ha un blocco di testo di input 169 00:09:37,560 --> 00:09:41,050 Si chiama "password", che Sarebbe un modo è possibile selezionare quello. 170 00:09:41,050 --> 00:09:43,020 E ce ne sono molti di più. Si può andare avanti e guardare la documentazione 171 00:09:43,020 --> 00:09:46,950 e vedere esempi specifici di come funziona. 172 00:09:46,950 --> 00:09:48,840 >> La prossima cosa è manipolazione del DOM. 173 00:09:48,840 --> 00:09:52,500 Dopo selezioniamo elementi, vorremo fare effettivamente cose con loro. 174 00:09:52,500 --> 00:09:55,500 Finora non abbiamo guardato che a tutti, ma se si guarda alla documentazione, 175 00:09:55,500 --> 00:09:57,950 non c'è davvero molto che si possa fare. 176 00:09:57,950 --> 00:10:02,900 A questo punto, andremo a selezionare gli elementi su questa presentazione 177 00:10:02,900 --> 00:10:04,890 e manipolarli utilizzando jQuery. 178 00:10:04,890 --> 00:10:08,290 Perché questo è implementato usando jQuery, abbiamo accesso alla libreria jQuery, 179 00:10:08,290 --> 00:10:13,580 e siamo in grado di utilizzare le funzioni di questo codice. 180 00:10:13,580 --> 00:10:16,200 Una cosa utile che non si può conoscere è la console. 181 00:10:16,200 --> 00:10:19,340 E Google Chrome è quello che sto usando. È possibile premere alt comando J 182 00:10:19,340 --> 00:10:21,720 o alt controllo J per aprire la console. 183 00:10:21,720 --> 00:10:26,130 In Firefox Penso che sia comando shift K o il controllo del cambio K. 184 00:10:26,130 --> 00:10:28,880 In Safari si deve andare cambiare alcune impostazioni. 185 00:10:28,880 --> 00:10:35,460 C'è un link se vuoi farlo, ma vi consiglio di andare Chrome o Firefox. 186 00:10:35,460 --> 00:10:37,750 Quindi cerchiamo di aprire la console, è qui. 187 00:10:37,750 --> 00:10:41,170 Esso consente fondamentalmente solo fare quello che vuoi. 188 00:10:41,170 --> 00:10:45,100 Così si può semplicemente digitare creare una variabile chiamata x, 189 00:10:45,100 --> 00:10:49,200 x = 5, vediamo cosa x + 2 è. 190 00:10:49,200 --> 00:10:57,670 Si può anche fare qualcosa di simile a CS + Vediamo, x + 45, che sarà CS50. 191 00:10:57,670 --> 00:11:00,530 Si può solo fare un po 'di roba tipica JavaScript. 192 00:11:00,530 --> 00:11:02,730 Ma si può anche fare in jQuery qui. 193 00:11:02,730 --> 00:11:06,200 >> Quindi diamo un'occhiata a questo primo aspetto qui. 194 00:11:06,200 --> 00:11:09,500 Stiamo andando a creare una variabile denominata HTML, che è una stringa. 195 00:11:09,500 --> 00:11:15,890 Ha un tag di paragrafo in esso, che si chiama qualche nuovo testo. 196 00:11:15,890 --> 00:11:19,420 Quindi abbiamo questo codice HTML, è qualche nuovo testo, nel tag di paragrafo. 197 00:11:19,420 --> 00:11:21,800 Ora vogliamo davvero per aggiungerlo alla pagina. 198 00:11:21,800 --> 00:11:28,310 Impostare il tutto in modo che il codice HTML per questo paragrafo, questo titolo qui, è append ID. 199 00:11:28,310 --> 00:11:32,320 Se selezioniamo append ID e quindi aggiungere ad essa 200 00:11:32,320 --> 00:11:34,560 la variabile HTML ho appena creato, 201 00:11:34,560 --> 00:11:40,370 si aggiungerà che HTML, alla fine, subito dopo questo tag di paragrafo. 202 00:11:40,370 --> 00:11:43,730 Quindi, se lo facciamo - abbiamo scelto questo paragrafo, 203 00:11:43,730 --> 00:11:47,590 e abbiamo chiamato la funzione append con la variabile HTML Ho appena aggiunto, 204 00:11:47,590 --> 00:11:50,960 si aggiunge che il nuovo testo proprio lì sulla pagina. 205 00:11:50,960 --> 00:11:54,970 Possiamo anche aggiungere in testa, il che significa che andrà prima, all'inizio di tale elemento. 206 00:11:54,970 --> 00:11:58,290 Quindi c'è qualche nuovo testo all'inizio e dopo. 207 00:11:58,290 --> 00:12:01,660 Posso andare avanti e aggiornare per liberarsi di questa roba che ho appena fatto. 208 00:12:01,660 --> 00:12:05,280 Ma questo è un esempio di come è possibile utilizzare il anteposte e aggiunte metodi 209 00:12:05,280 --> 00:12:08,910 di manipolare roba sulla pagina, aggiungere un po 'di HTML. 210 00:12:08,910 --> 00:12:11,080 >> È inoltre possibile modificare le classi. 211 00:12:11,080 --> 00:12:14,970 Ritorna in questo file di stile, ho creato questo per la vittoria di classe 212 00:12:14,970 --> 00:12:19,990 che ha rosso il colore del testo, un certo colore di sfondo, e un'ombra di testo. 213 00:12:19,990 --> 00:12:23,810 Sembra orribile, ma in realtà posso - 214 00:12:23,810 --> 00:12:26,410 presente paragrafo corrisponde a ID di classe. 215 00:12:26,410 --> 00:12:29,860 Quindi posso aggiungere la classe per la vittoria. 216 00:12:29,860 --> 00:12:31,870 Posso eseguire questo nella console, 217 00:12:31,870 --> 00:12:35,480 e che aggiungerà quella classe, e ora sembra orrendo, come previsto. 218 00:12:35,480 --> 00:12:39,680 Il CSS viene applicato automaticamente alle classi che si - 219 00:12:39,680 --> 00:12:42,680 se c'è CSS per una classe, essa viene automaticamente applicato 220 00:12:42,680 --> 00:12:44,680 se si cambia la classe di un elemento. 221 00:12:44,680 --> 00:12:49,230 Poi possiamo semplicemente rimuoverlo utilizzando classe rimozione. 222 00:12:49,230 --> 00:12:53,690 Quindi, se si dispone di alcune classi predefinite come il rosso o evidenziato, 223 00:12:53,690 --> 00:12:55,990 e poi si desidera applicare quelle ad elementi, 224 00:12:55,990 --> 00:12:58,230 non dovete fare tutto il CSS styling ogni volta. 225 00:12:58,230 --> 00:13:01,510 Si può solo aggiungere la classe di un elemento, e allora diventerà automaticamente - 226 00:13:01,510 --> 00:13:05,580 verrà automaticamente cercare appropriato per quella classe. 227 00:13:05,580 --> 00:13:07,900 Possiamo anche rimuovere le cose, così ho intenzione di selezionare tutti i div 228 00:13:07,900 --> 00:13:10,830 sulla pagina e rimuoverli. 229 00:13:10,830 --> 00:13:13,990 Che cosa è che andare a guardare come? 230 00:13:13,990 --> 00:13:16,170 Sta andando a guardare come nulla, quindi non c'è davvero nulla di sinistra. 231 00:13:16,170 --> 00:13:18,170 La mia presentazione è andato. 232 00:13:18,170 --> 00:13:21,290 Posso rinfrescare e riportarlo, per fortuna, 233 00:13:21,290 --> 00:13:24,420 perché è solo in esecuzione una volta, 234 00:13:24,420 --> 00:13:29,460 ma questo è un esempio di rimuovere, se si vuole distruggere completamente un elemento fuori dalla pagina. 235 00:13:29,460 --> 00:13:33,180 >> È anche possibile sovrascrivere, e ho intenzione di selezionare tutti i tag di paragrafo della pagina 236 00:13:33,180 --> 00:13:36,850 e andare al loro interno e sostituire il testo che essi hanno in loro 237 00:13:36,850 --> 00:13:39,690 con solo la parola "test". 238 00:13:39,690 --> 00:13:46,520 Se si esegue questa operazione, si sostituisce ogni paragrafo della pagina con questo test. 239 00:13:46,520 --> 00:13:49,150 Yep. Sono tutti sostituiti con i test. 240 00:13:49,150 --> 00:13:53,270 Ecco, questo è un esempio di accesso al testo e sovrascriverlo. 241 00:13:53,270 --> 00:13:57,490 È inoltre possibile recuperare informazioni, e questo è davvero cool per le caselle di input. 242 00:13:57,490 --> 00:14:00,470 Se si dispone di una casella di input che la gente sta digitando roba in, 243 00:14:00,470 --> 00:14:03,880 la gente sta digitando roba in esso, 244 00:14:03,880 --> 00:14:09,030 qui selezioniamo l'ingresso, ogni tag input con un tipo di testo. 245 00:14:09,030 --> 00:14:13,800 In questo caso, c'è solo una casella di input in tutta la presentazione, 246 00:14:13,800 --> 00:14:17,260 quindi ci basta selezionare il primo, e poi chiamiamo la funzione val su di esso. 247 00:14:17,260 --> 00:14:19,570 Che restituisce il valore, e per una casella di input, 248 00:14:19,570 --> 00:14:24,330 il valore è solo quello che sembra essere al suo interno. 249 00:14:24,330 --> 00:14:31,880 Quindi, se facciamo questo, semplicemente restituisce la roba stringa. 250 00:14:31,880 --> 00:14:36,860 E se si parla di nuovo dopo aver scritto più roba, si trasforma in più roba. 251 00:14:36,860 --> 00:14:40,760 Questo è un ottimo modo per accedere agli elementi di una casella di input, e quindi controllare, 252 00:14:40,760 --> 00:14:45,060 è questo un indirizzo email valido, è presente una data valida, per esempio. 253 00:14:45,060 --> 00:14:49,600 Si può solo recuperare roba istantaneamente come la gente sta digitando, 254 00:14:49,600 --> 00:14:54,830 e quindi controllare se è valido, inviarlo a un server, fare quello che vuoi con esso. 255 00:14:54,830 --> 00:14:57,720 Ed è così che si accede cosa c'è dentro quelle scatole. 256 00:14:57,720 --> 00:15:00,090 >> È inoltre possibile modificare i CSS direttamente, così invece di aggiungere 257 00:15:00,090 --> 00:15:02,510 una classe che ha alcune proprietà predefinite, 258 00:15:02,510 --> 00:15:08,120 si può semplicemente aggiungere qualunque CSS da nulla. 259 00:15:08,120 --> 00:15:10,350 Quindi cerchiamo di corpo scelto, che è l'intera presentazione, 260 00:15:10,350 --> 00:15:14,370 e il colore è la proprietà che definisce il colore del testo è. 261 00:15:14,370 --> 00:15:19,420 Se si cambia a rosso, tutto il testo nella pagina diventerà rosso. 262 00:15:19,420 --> 00:15:26,310 Siamo in grado di fare qualcosa di simile sfondo di colore blu, 263 00:15:26,310 --> 00:15:30,680 ci andiamo, è bellissimo. 264 00:15:30,680 --> 00:15:33,840 Si può fare tutto quello che vuoi con questo. 265 00:15:33,840 --> 00:15:39,250 Utilizzando la proprietà CSS, si può davvero modificare qualsiasi cosa come appare in qualsiasi momento. 266 00:15:39,250 --> 00:15:41,630 Il passo successivo è effetti. 267 00:15:41,630 --> 00:15:45,710 Gli effetti sono fondamentalmente la stessa cosa, come la modifica del CSS, 268 00:15:45,710 --> 00:15:48,870 ma in realtà forniscono qualche animazione in più per esso. 269 00:15:48,870 --> 00:15:53,380 Così, invece di limitarsi a mostrare o nascondere qualcosa o cambiando il colore, 270 00:15:53,380 --> 00:15:56,130 si può effettivamente rendere più animato. 271 00:15:56,130 --> 00:16:00,760 Ecco la documentazione, se si vuole dare un'occhiata alla vasta documentazione per esso. 272 00:16:00,760 --> 00:16:04,760 Ma ho intenzione di coprire i principali. 273 00:16:04,760 --> 00:16:12,030 Ci sono la proprietà Nascondi Mostra e. 274 00:16:12,030 --> 00:16:14,510 Mostra / Nascondi ID corrisponda effettivamente tutto questo riquadro, 275 00:16:14,510 --> 00:16:18,190 quindi se mi nascondo, sarà solo scomparire. 276 00:16:18,190 --> 00:16:24,210 E posso mostrare di nuovo se voglio farlo tornare. 277 00:16:24,210 --> 00:16:26,340 Ed è indietro. E 'in realtà non scompare, 278 00:16:26,340 --> 00:16:30,670 Io in realtà non rimuoverlo dalla pagina, ho appena impostato la proprietà CSS di visibilità di nascosto 279 00:16:30,670 --> 00:16:34,030 quindi non si può vedere più. 280 00:16:34,030 --> 00:16:39,250 C'è anche far scorrere su e far scorrere verso il basso, che ti permette di avere questo effetto. 281 00:16:39,250 --> 00:16:47,050 Scivola fino a scomparire, e dopo scompare 282 00:16:47,050 --> 00:16:53,210 è possibile scorrere verso il basso per farlo tornare. Ed ora è tornato. 283 00:16:53,210 --> 00:16:57,650 C'è anche questo effetto di dissolvenza, che - dissolvenza ID corrisponde a questo dialogo. 284 00:16:57,650 --> 00:17:01,200 Se I fade fuori, allora sarà lentamente scomparire. 285 00:17:01,200 --> 00:17:04,490 Posso anche svanire dentro, e tornerà. 286 00:17:04,490 --> 00:17:08,930 È anche possibile fare dissolvenza a, che è specifico per la funzione di dissolvenza. 287 00:17:08,930 --> 00:17:12,589 Si può avere dissolvenza a qualsiasi opacità specifica che si desidera. 288 00:17:12,589 --> 00:17:16,869 Quindi, se si dissolvenza lentamente a 0,5, che diventerà la metà visibile. 289 00:17:16,869 --> 00:17:22,630 Posso farlo andare a 0,1, e di nuovo a 1 per rendere di nuovo completamente visibile. 290 00:17:22,630 --> 00:17:24,760 Questo è solo un altro animazione che si può fare. 291 00:17:24,760 --> 00:17:26,750 >> Ci sono anche gli effetti ginocchiera. 292 00:17:26,750 --> 00:17:33,410 Quindi ho intenzione di selezionare l'ID ginocchiera, che corrisponde a questo riquadro, 293 00:17:33,410 --> 00:17:38,970 e su quel div è possibile chiamare a levetta, se è visibile diventerà invisibile, 294 00:17:38,970 --> 00:17:42,320 se è invisibile, diventerà di nuovo visibile. 295 00:17:42,320 --> 00:17:44,440 Così ho appena chiamato questa funzione attiva due volte, la prima era 296 00:17:44,440 --> 00:17:48,380 la stessa cosa di pelle, la seconda chiamata era la stessa cosa di uno spettacolo. 297 00:17:48,380 --> 00:17:53,510 E si può anche fare questo con una ginocchiera dissolvenza, 298 00:17:53,510 --> 00:17:55,730 che fa la stessa cosa, solo che in realtà si affievolisce. 299 00:17:55,730 --> 00:17:59,410 E stessa cosa con la slitta passare. 300 00:17:59,410 --> 00:18:01,460 Ci sono effetti concatenati pure, il che significa 301 00:18:01,460 --> 00:18:05,520 se si seleziona un elemento e basta chiamare un sacco di metodi di animazione su di esso, 302 00:18:05,520 --> 00:18:07,400 se si voleva che fade out, quindi far scorrere verso il basso, 303 00:18:07,400 --> 00:18:11,040 e poi nascondere e poi dissolvenza in entrata, che farà loro in una riga. 304 00:18:11,040 --> 00:18:24,920 Così è scomparso, è tornato - per qualche motivo, la pelle non è accaduto. 305 00:18:24,920 --> 00:18:30,030 Proviamo fuori. Sì, così si spense e poi scivolò via. 306 00:18:30,030 --> 00:18:32,230 E ci sono un sacco di più. È possibile utilizzare la funzione animate 307 00:18:32,230 --> 00:18:35,370 per creare le proprie animazioni, il che è piuttosto complesso, 308 00:18:35,370 --> 00:18:38,790 ma vi fornisce estensibilità infinita. 309 00:18:38,790 --> 00:18:40,630 È possibile effettuare qualsiasi tipo di animazione che si desidera. 310 00:18:40,630 --> 00:18:44,230 È inoltre possibile utilizzare la fila per fila più animazioni in un momento. 311 00:18:44,230 --> 00:18:47,340 Quindi, se volete qualcosa di volare in tutta la pagina, 312 00:18:47,340 --> 00:18:49,860 diapositiva da destra verso il basso a sinistra, è possibile farlo, 313 00:18:49,860 --> 00:18:55,240 e solo un mucchio di azioni che vanno uno dopo l'altro. 314 00:18:55,240 --> 00:18:57,490 >> La prossima cosa che andremo a parlare sono gli eventi. 315 00:18:57,490 --> 00:19:02,090 Eventi consentono - finora abbiamo appena digitando cose nella console 316 00:19:02,090 --> 00:19:04,870 e questo è un modo per rendere questo accada, 317 00:19:04,870 --> 00:19:08,020 ma su una pagina reale, non si sta andando ad essere in grado di 318 00:19:08,020 --> 00:19:10,020 fare le cose tipo utente nella console. 319 00:19:10,020 --> 00:19:12,050 Vuoi che le cose accadano automaticamente. 320 00:19:12,050 --> 00:19:18,060 Per questo, è necessario utilizzare gli eventi che attivano su qualche determinato evento accada. 321 00:19:18,060 --> 00:19:21,340 È possibile controllare la documentazione per i dettagli. 322 00:19:21,340 --> 00:19:24,030 Quindi vediamo. Vogliamo mostrare o nascondere la casella, 323 00:19:24,030 --> 00:19:29,340 ma ora questo pulsante non fa nulla perché non ho ancora la sua attuazione. 324 00:19:29,340 --> 00:19:35,420 Sto per andare alla pagina HTML effettivo. 325 00:19:35,420 --> 00:19:38,560 Ecco la presentazione. C'è un div per la diapositiva. 326 00:19:38,560 --> 00:19:41,230 Ha la classe di diapositiva. 327 00:19:41,230 --> 00:19:46,890 Ecco il testo. Ora, c'è questa casella e il pulsante di dialogo. 328 00:19:46,890 --> 00:19:52,900 Come possiamo effettivamente fare questo sparire? 329 00:19:52,900 --> 00:19:58,250 Prima di tutto, scriviamo una funzione che rende l'ID casella di scomparire. 330 00:19:58,250 --> 00:20:01,820 Questa è la sintassi per il funtion, facciamo solo chiamano hideTheBox. 331 00:20:01,820 --> 00:20:06,130 Non prende alcun argomento, perché non ci sono argomenti da prendere. 332 00:20:06,130 --> 00:20:08,950 Siamo in grado di selezionare l'ID del box. 333 00:20:08,950 --> 00:20:15,020 Quindi, utilizzando il jQuery selezionare, possiamo selezionare ID scatola, 334 00:20:15,020 --> 00:20:17,700 e poi basta farla sparire. 335 00:20:17,700 --> 00:20:20,690 Facciamo in modo che fade out. 336 00:20:20,690 --> 00:20:27,390 Se abbiamo percorso questa funzione nella console effettiva, 337 00:20:27,390 --> 00:20:33,380 potremmo definire questa funzione, possiamo chiamare hideTheBox, e funziona. 338 00:20:33,380 --> 00:20:36,650 Ma vogliamo che accada quando viene effettivamente premuto il pulsante. 339 00:20:36,650 --> 00:20:40,950 Per fare questo, dobbiamo usare un evento. 340 00:20:40,950 --> 00:20:45,500 Per associare un evento di qualche pulsante specifico o qualche avvenimento azione, 341 00:20:45,500 --> 00:20:50,040 dobbiamo selezionare l'elemento che l'evento si innescherà - 342 00:20:50,040 --> 00:20:52,650 o che attiva l'evento, mi dispiace. 343 00:20:52,650 --> 00:20:57,220 >> Quindi prima di tutto, cerchiamo di selezionare l'ID del pulsante di dialogo 344 00:20:57,220 --> 00:20:59,610 perché quello è il tasto, e ora, per tale pulsante, 345 00:20:59,610 --> 00:21:02,750 vogliamo creare un'animazione quando viene cliccato. 346 00:21:02,750 --> 00:21:05,040 Quindi c'è questa funzione di clic. 347 00:21:05,040 --> 00:21:08,470 Esso consente di associare un'altra funzione ad esso. 348 00:21:08,470 --> 00:21:12,320 Questa funzione prende un'altra funzione come argomento 349 00:21:12,320 --> 00:21:14,310 possiamo passare nella funzione hideTheBox, 350 00:21:14,310 --> 00:21:20,950 e ogni volta che si fa clic su questo pulsante, che la funzione verrà eseguita automaticamente. 351 00:21:20,950 --> 00:21:24,850 Quindi, questo funzionerà se vogliamo salvare questo, ti rinfresco, 352 00:21:24,850 --> 00:21:33,460 e - un secondo, mi dispiace. 353 00:21:33,460 --> 00:21:44,770 Consenti all'utente di risolvere questo molto velocemente. 354 00:21:44,770 --> 00:21:50,680 Va bene. Ecco fatto. Così ora la scatola è scomparsa quando si clicca sul pulsante. 355 00:21:50,680 --> 00:21:55,470 Possiamo anche cambiare questo a fadeToggle solo, 356 00:21:55,470 --> 00:22:00,020 cambiarlo solo per nascondere o mostrare la scatola, 357 00:22:00,020 --> 00:22:03,850 e questo funziona anche troppo, se ci si rinfresca. 358 00:22:03,850 --> 00:22:08,550 Siamo in grado di nasconderlo, possiamo anche vedere, e che continueremo a lavorare. 359 00:22:08,550 --> 00:22:12,210 Un'altra cosa che possiamo fare è, in realtà non abbiamo per definire questa funzione hideTheBox 360 00:22:12,210 --> 00:22:15,050 prima di chiamare la funzione di click. 361 00:22:15,050 --> 00:22:17,640 Così, invece di definire la funzione e chiamando hideTheBox, 362 00:22:17,640 --> 00:22:20,310 stiamo solo andando a chiamarlo se si fa clic su questa cosa. 363 00:22:20,310 --> 00:22:22,310 Così siamo in grado di definire in modo anonimo a qui, 364 00:22:22,310 --> 00:22:25,070 che è una caratteristica che ha JavaScript. 365 00:22:25,070 --> 00:22:29,720 È possibile definire una funzione, normalmente, diremmo funzione hideTheBox 366 00:22:29,720 --> 00:22:34,490 con argomenti, ma, invece, possiamo solo dire funzionare senza argomenti, 367 00:22:34,490 --> 00:22:36,870 avviare la parentesi graffa per definire la funzione, 368 00:22:36,870 --> 00:22:40,780 chiudere quella parentesi graffa, e poi basta definire la funzione a qui, 369 00:22:40,780 --> 00:22:45,130 entro la prima parentesi e l'ultimo parentesi 370 00:22:45,130 --> 00:22:47,860 che corrispondono agli argomenti della funzione click. 371 00:22:47,860 --> 00:22:53,320 Quindi siamo di passaggio in questa funzione, possiamo copiare questa riga di codice proprio qui, 372 00:22:53,320 --> 00:22:55,450 e che farà la stessa cosa. 373 00:22:55,450 --> 00:22:57,290 E ora noi non abbiamo questa funzione fadeTheBox casuale 374 00:22:57,290 --> 00:22:59,960 che è seduto intorno per nessun motivo apparente. 375 00:22:59,960 --> 00:23:02,070 La funzione è stata definita in forma anonima, non ha un nome. 376 00:23:02,070 --> 00:23:08,060 Essa si limita ad eseguire quando si clicca sul pulsante di dialogo. 377 00:23:08,060 --> 00:23:12,180 Così rinfrescante ancora una volta, ancora una volta, e si può vedere che funziona ancora. 378 00:23:12,180 --> 00:23:16,700 Ed è così che si creano gli eventi. 379 00:23:16,700 --> 00:23:19,190 >> Ci sono un sacco di diversi eventi che possiamo usare. 380 00:23:19,190 --> 00:23:23,540 Ho intenzione di tornare a utilizzare la console a voi dimostrare quanto questi lavori. 381 00:23:23,540 --> 00:23:28,210 Gli ID per ciascuna di esse corrispondono a ciascuna scatola. 382 00:23:28,210 --> 00:23:33,020 Quindi questa scatola è fare clic su ID, questa è la chiave ID, e questo è l'ID del mouse. 383 00:23:33,020 --> 00:23:36,120 Un'altra cosa è che c'è questa funzione azione, piuttosto che scrivendo tutto, ogni volta, 384 00:23:36,120 --> 00:23:41,610 Io sono andato avanti e ha definito questa funzione azione qui. 385 00:23:41,610 --> 00:23:46,860 Si fa la stessa cosa come la funzione hideTheBox. 386 00:23:46,860 --> 00:23:51,340 Si ottiene questa casella e sia sfuma fuori o dissolvenze si poll 387 00:23:51,340 --> 00:23:54,110 Ed è per questo che siamo in grado di usarlo qui. 388 00:23:54,110 --> 00:24:00,350 Quindi, se si clicca su questo, fate clic ID, vogliamo rendere la casella di scomparire o ricomparire. 389 00:24:00,350 --> 00:24:03,610 E 'la stessa cosa che il pulsante che abbiamo avuto nell'ultima diapositiva. 390 00:24:03,610 --> 00:24:07,450 Ora, dopo che noi chiamiamo, possiamo cliccare su questo e la casella scomparirà, 391 00:24:07,450 --> 00:24:10,160 quindi fare clic su di essa ancora e la scatola riapparirà. 392 00:24:10,160 --> 00:24:12,480 Questo è abbastanza semplice. Fare doppio clic fa la stessa cosa, 393 00:24:12,480 --> 00:24:15,660 tranne che richiede un doppio clic. 394 00:24:15,660 --> 00:24:19,030 Quindi, se si fa clic su di esso una volta e fare clic su di essa ancora non succederà nulla, 395 00:24:19,030 --> 00:24:21,140 ma se si fa doppio clic in modo rapido, ma sparirà. 396 00:24:21,140 --> 00:24:23,310 Se si fa doppio clic di nuovo, tornerà. 397 00:24:23,310 --> 00:24:25,250 Ecco, questo è piuttosto semplice. 398 00:24:25,250 --> 00:24:31,170 Input da tastiera è un po 'strano, non credo che in realtà funziona in questo esempio 399 00:24:31,170 --> 00:24:37,670 perché la chiave verso il basso, il tasto su e premere il tasto e le altre azioni chiave 400 00:24:37,670 --> 00:24:47,190 attivare, non importa quale elemento si associa a. 401 00:24:47,190 --> 00:24:51,410 Per esempio, anche se ho legato giù per il corpo o qualcos'altro completamente, 402 00:24:51,410 --> 00:24:55,950 allora sarebbe ancora attivare non importa - non specifica. 403 00:24:55,950 --> 00:25:00,190 Non devo essere cliccando su questo e premere un tasto per far scomparire qualsiasi cosa. 404 00:25:00,190 --> 00:25:04,470 Sarebbe essere attivata indipendentemente da ciò che elemento sono attualmente; 405 00:25:04,470 --> 00:25:06,880 Quindi questi in realtà non funzionano in questo esempio 406 00:25:06,880 --> 00:25:13,180 perché non mi riconosce come entrare ingresso all'ingresso div tastiera. 407 00:25:13,180 --> 00:25:15,740 >> Ma se si guardano le azioni del mouse, 408 00:25:15,740 --> 00:25:19,620 il primo è hover, e si può fare un po 'di questo con i CSS. 409 00:25:19,620 --> 00:25:24,280 Se si utilizzano i CSS, è possibile crearlo in modo che se si passa sopra qualcosa, 410 00:25:24,280 --> 00:25:28,940 poi i suoi cambiamenti di stile. 411 00:25:28,940 --> 00:25:32,170 Ma usando jQuery è possibile modificare gli stili di altre cose. 412 00:25:32,170 --> 00:25:37,120 Così, per esempio, stiamo per chiamare all'azione se passaggio del mouse sopra questo div. 413 00:25:37,120 --> 00:25:39,660 Questo significa che se passaggio del mouse sopra di esso, allora la casella scompare. 414 00:25:39,660 --> 00:25:42,430 Se ci si allontana da esso, la scatola riapparirà. 415 00:25:42,430 --> 00:25:45,090 Se chiamiamo questa e passate il mouse su di esso, il dialogo non scompare, 416 00:25:45,090 --> 00:25:47,050 e, non appena ci si allontana, ritorna. 417 00:25:47,050 --> 00:25:49,750 Se chiamiamo la funzione hover sul ID del mouse, 418 00:25:49,750 --> 00:25:54,380 che corrisponde a questo dialogo, quindi se ci passate il mouse sulla casella, 419 00:25:54,380 --> 00:26:00,440 quindi la casella sarà effettivamente scompare - è essere funky in questo momento, ma - 420 00:26:00,440 --> 00:26:06,310 se ci allontaniamo da essa, riapparirà. In questo momento è indietro per qualche motivo. 421 00:26:06,310 --> 00:26:12,720 Il mouse entra e le funzioni di movimento del mouse è in qualche modo simile, ma leggermente diverso. 422 00:26:12,720 --> 00:26:16,470 Mouse dentro si attiva solo quando il mouse entra nel box, come previsto. 423 00:26:16,470 --> 00:26:19,210 Quindi, se ci si sposta in esso, esso sparirà. 424 00:26:19,210 --> 00:26:23,210 Ma non riapparirà quando ci si allontana, si dovrà tornare su di esso per farlo tornare. 425 00:26:23,210 --> 00:26:25,590 C'è anche la funzione di spostamento del mouse, che attiverà 426 00:26:25,590 --> 00:26:29,300 ogni volta che il mouse è ancora presente nella scatola. 427 00:26:29,300 --> 00:26:32,430 Quindi sarà solo andare avanti, che va e viene. 428 00:26:32,430 --> 00:26:35,660 Ed è effettivamente registrazione - sembra che è solo la dissolvenza in entrata e in uscita, 429 00:26:35,660 --> 00:26:39,140 ma in realtà è l'accesso molto più azioni rispetto a questo, 430 00:26:39,140 --> 00:26:43,550 così quando ci si allontana sarà solo andare avanti perché è registrato come un migliaio di loro. 431 00:26:43,550 --> 00:26:46,620 Forse non a mille. Forse cinque. 432 00:26:46,620 --> 00:26:50,200 Si registra più di questo. 433 00:26:50,200 --> 00:26:53,280 Il punto è che tutte le azioni del mouse, ci sono un sacco di loro. 434 00:26:53,280 --> 00:26:55,480 Si può leggere su gli altri, ma sono tutti leggermente diversi, 435 00:26:55,480 --> 00:26:57,700 e si può scegliere quello che serve 436 00:26:57,700 --> 00:27:02,130 per qualsiasi scopo specifico che stai cercando di fare. 437 00:27:02,130 --> 00:27:05,060 >> La prossima cosa che ho intenzione di parlare è AJAX. 438 00:27:05,060 --> 00:27:09,340 AJAX, so che noi non copriamo JavaScript tanto profondità di quest'anno, 439 00:27:09,340 --> 00:27:11,770 quindi sono solo andando a parlare di AJAX, in generale, per un minuto. 440 00:27:11,770 --> 00:27:15,210 AJAX è l'acronimo di Asynchronous JavaScript and XML. 441 00:27:15,210 --> 00:27:19,030 E 'fondamentalmente, per esempio, quando sei su Facebook e ti spinge una notifica, 442 00:27:19,030 --> 00:27:23,060 questo perché AJAX è in esecuzione sul vostro browser web. 443 00:27:23,060 --> 00:27:25,800 Ogni paio di secondi il browser web in realtà è 444 00:27:25,800 --> 00:27:29,420 andando a server di Facebook, chiedendo loro, hai niente di nuovo per me, 445 00:27:29,420 --> 00:27:31,980 e poi si ritorna a voi. 446 00:27:31,980 --> 00:27:36,320 Ciò consente di inviare richieste a un server 447 00:27:36,320 --> 00:27:38,660 senza la necessità di caricare la pagina. 448 00:27:38,660 --> 00:27:42,040 Quindi, normalmente, se si sta solo usando PHP e un database, 449 00:27:42,040 --> 00:27:45,480 si deve aggiornare la pagina prima di poter ottenere nuove informazioni dal server. 450 00:27:45,480 --> 00:27:48,770 Ma usando AJAX, si può tirare per quella nuova informazione costante, 451 00:27:48,770 --> 00:27:52,250 o tirare per quando si fa clic su un pulsante o qualcosa di simile. 452 00:27:52,250 --> 00:27:56,140 Quindi questo ci permette di inviare richieste senza ricaricare la pagina, 453 00:27:56,140 --> 00:27:58,130 e siamo in grado di utilizzare sia le richieste GET o POST. 454 00:27:58,130 --> 00:28:05,370 >> Richieste GET sono, per esempio, se a Google.com in English 455 00:28:05,370 --> 00:28:10,900 e fare q = prova. Questo è dare loro una prova di query. 456 00:28:10,900 --> 00:28:15,890 E questa è una richiesta GET perché sta passando in quei parametri nella URL stesso. 457 00:28:15,890 --> 00:28:19,250 Una richiesta POST è come se li sta inviando via posta. 458 00:28:19,250 --> 00:28:22,500 E 'come se lo metti in una lettera e spedite fuori a loro, 459 00:28:22,500 --> 00:28:25,140 ma in realtà non vedono il contenuto. Non sono visibili nella URL. 460 00:28:25,140 --> 00:28:31,040 Non è possibile digitare direttamente in, devi inviarlo quasi di nascosto. 461 00:28:31,040 --> 00:28:33,880 E 'in un post. 462 00:28:33,880 --> 00:28:38,660 Ma usando jQuery, è possibile fare richieste GET e POST 463 00:28:38,660 --> 00:28:42,740 molto più facilmente di quanto si possa normalmente usando solo Javascript pianura. 464 00:28:42,740 --> 00:28:50,140 È possibile eseguire query utilizzando le API richieste GET, e si può anche verificare la presenza di informazioni di login. 465 00:28:50,140 --> 00:28:54,400 Nella pagina successiva, ho creato questa, che chiede: "Cosa c'è per pranzo?" 466 00:28:54,400 --> 00:28:58,230 utilizzando l'Harvard cibo API, quindi cerchiamo di tirare che fino. 467 00:28:58,230 --> 00:29:01,840 Questo è solo un esempio di come è possibile utilizzare jQuery per fare una richiesta GET ad una API 468 00:29:01,840 --> 00:29:04,200 e ottenere informazioni di ritorno da esso. 469 00:29:04,200 --> 00:29:07,090 Quindi vogliamo vedere il menu per oggi, 470 00:29:07,090 --> 00:29:10,560 e vogliamo vedere cosa c'è per pranzo. 471 00:29:10,560 --> 00:29:16,500 Ecco l'URL per creare una richiesta GET in jQuery. 472 00:29:16,500 --> 00:29:18,600 si utilizza il $. ottenere la funzione. 473 00:29:18,600 --> 00:29:22,290 Il primo argomento è l'URL, in modo esattamente cosa si sta interrogando. 474 00:29:22,290 --> 00:29:27,200 Poi il prossimo argomento è una funzione che viene eseguita quando la richiesta GET è completa. 475 00:29:27,200 --> 00:29:29,980 Quindi si invia via qualche richiesta al server, aspettare che torni. 476 00:29:29,980 --> 00:29:33,770 Quando lo fa venire indietro, si sta andando a prendere un po 'di azione con i dati che sono di ritorno dal server. 477 00:29:33,770 --> 00:29:37,520 Andiamo avanti e codice di questo. 478 00:29:37,520 --> 00:29:42,110 Io non lo ha codificato questo sia, di proposito. 479 00:29:42,110 --> 00:29:46,660 Ecco il TODO. Prima di tutto, cerchiamo di utilizzare l'associazione evento 480 00:29:46,660 --> 00:29:50,820 in modo che quando si preme questo tasto, che trasmettiamo fuori una richiesta GET. 481 00:29:50,820 --> 00:29:53,410 E quando quella richiesta GET torna con alcuni dati, 482 00:29:53,410 --> 00:29:57,290 stiamo andando a scrivere in questo pasto informazioni ID div. 483 00:29:57,290 --> 00:30:02,860 Prima di tutto, cerchiamo di selezionare il pulsante ID cibo. 484 00:30:02,860 --> 00:30:07,320 Quando viene cliccato, noi vogliamo che faccia qualcosa. 485 00:30:07,320 --> 00:30:11,930 Diciamo solo fanno un fuction anonima, come prima. 486 00:30:11,930 --> 00:30:15,550 Può avvolgere quelle parentesi graffe, 487 00:30:15,550 --> 00:30:18,530 e quando si preme questo tasto, vogliamo inviare una richiesta GET 488 00:30:18,530 --> 00:30:20,750 per verificare cosa c'è per pranzo. 489 00:30:20,750 --> 00:30:24,970 Per fare questo, possiamo semplicemente digitare $. Ottenere. 490 00:30:24,970 --> 00:30:28,850 Questa è una funzione jQuery, con il simbolo del dollaro. 491 00:30:28,850 --> 00:30:31,430 Ci vogliono un paio di argomenti. Il primo è l'URL, 492 00:30:31,430 --> 00:30:34,450 la seconda è la funzione di callback, la funzione che si chiama 493 00:30:34,450 --> 00:30:37,740 quando tale richiesta restituisce effettivamente. 494 00:30:37,740 --> 00:30:39,890 Diciamo solo costruire l'URL prima. 495 00:30:39,890 --> 00:30:44,650 Siamo in grado di ottenere da l'API che David ha scritto su. 496 00:30:44,650 --> 00:30:51,360 Andando qui, possiamo vedere che è food.cs50.net/api/1.3/menus, 497 00:30:51,360 --> 00:30:54,140 e poi basta passare i nomi dei parametri che si desidera. 498 00:30:54,140 --> 00:30:57,760 Quindi il parametro 1 è il valore 1. 499 00:30:57,760 --> 00:31:00,910 Sembra data standard, Data di inizio, il default è oggi 500 00:31:00,910 --> 00:31:03,110 se non si inserisce nulla, e data anche defaults fine 501 00:31:03,910 --> 00:31:05,930 a oggi, se non si inserisce nulla. 502 00:31:05,930 --> 00:31:10,790 Questo è quello che vogliamo. Vogliamo ottenere solo le informazioni per oggi. 503 00:31:10,790 --> 00:31:12,950 >> Vogliamo che il formato sia in JSON. 504 00:31:12,950 --> 00:31:15,570 Questo è solo arbitrario, è possibile utilizzare qualsiasi forma che si desidera. 505 00:31:15,570 --> 00:31:18,950 È possibile utilizzare CSV, ma JSON è JavaScript Object Notation. 506 00:31:18,950 --> 00:31:24,150 E 'molto facile per il supporto JavaScript per capire che cosa significa, 507 00:31:24,150 --> 00:31:27,110 e siamo in grado di stamparlo più facilmente in questo modo. 508 00:31:27,110 --> 00:31:30,490 Quindi cerchiamo di richiedere in JSON, e andiamo richiesta pranzo. 509 00:31:30,490 --> 00:31:37,660 Così pasto = pranzo. Basta scrivere su tale URL, torniamo qui. 510 00:31:37,660 --> 00:31:41,290 Ci sono i menu. Il primo parametro è uscita = JSON 511 00:31:41,290 --> 00:31:44,640 perché è quello che vogliamo, e di separare i parametri con una 'e'. 512 00:31:44,640 --> 00:31:48,940 Il secondo parametro è - non ricordo. 513 00:31:48,940 --> 00:31:52,170 Pasto. E vogliamo pasto = pranzo. 514 00:31:52,170 --> 00:31:57,390 È possibile verificare questo URL digitandolo nel browser e andare a esso. 515 00:31:57,390 --> 00:32:03,120 Essa vi darà qualche uscita. E 'solo un mucchio di roba che per il pranzo. 516 00:32:03,120 --> 00:32:10,410 E 'in questo formato brutto. Vogliamo stamparlo sulla nostra pagina in un formato migliore. 517 00:32:10,410 --> 00:32:12,580 Così l'URL è corretto, ora abbiamo solo bisogno di scrivere una funzione 518 00:32:12,580 --> 00:32:18,300 di richiamare quando la richiesta è riuscita. 519 00:32:18,300 --> 00:32:20,430 Questa funzione avrà effettivamente un argomento. Sarà dati. 520 00:32:20,430 --> 00:32:25,650 Il dato è quello che torna dalla richiesta GET dopo la richiesta GET è fatto. 521 00:32:25,650 --> 00:32:28,860 Possiamo fare le parentesi graffe, in qui si scrive la funzione anonima 522 00:32:28,860 --> 00:32:33,900 che esegue, utilizzando i dati quando otteniamo le informazioni di nuovo. 523 00:32:33,900 --> 00:32:37,840 Così i dati, quando abbiamo digitato in questo URL, 524 00:32:37,840 --> 00:32:41,540 questo è ciò che i dati di andare a guardare come. Sta andando essere questa stringa enorme. 525 00:32:41,540 --> 00:32:48,610 Ma la cosa buona è, JavaScript può analizzarlo utilizzando la funzione JSON.parse. 526 00:32:48,610 --> 00:32:54,950 Quindi cerchiamo di creare una nuova variabile chiamata dati parse. 527 00:32:54,950 --> 00:32:57,060 E i dati parse è un array di oggetti. 528 00:32:57,060 --> 00:33:04,200 Ogni oggetto contiene informazioni quali - beh, diamo uno sguardo. 529 00:33:04,200 --> 00:33:08,980 Ha una data, un pasto, categoria, ricetta, tutta questa altra roba. 530 00:33:08,980 --> 00:33:10,860 Quindi cerchiamo di Stampa il nome di ogni uno. 531 00:33:10,860 --> 00:33:13,790 Facciamo scorrere l'intera serie di cose che torniamo da esso, 532 00:33:13,790 --> 00:33:17,570 e basta stampare ognuno - stampare il nome di ciascuno. 533 00:33:17,570 --> 00:33:22,670 Si tratta di un ciclo for. 534 00:33:22,670 --> 00:33:26,030 >> JavaScript ha questa sintassi utile in cui è possibile creare una variabile e un ciclo su un array, 535 00:33:26,030 --> 00:33:30,150 e var i è solo l'iteratore, così invece di avere a che fare var i = 0, 536 00:33:30,150 --> 00:33:40,290 mi è stato inferiore alla lunghezza, i + +, si può solo fare var i nei dati analizzati. 537 00:33:40,290 --> 00:33:47,060 In questo esempio, dati analizzati (i) corrisponderanno al elemento corrente 538 00:33:47,060 --> 00:33:49,850 della matrice, l'oggetto effettivo. 539 00:33:49,850 --> 00:33:51,720 E noi vogliamo ottenere il nome di fuori di esso. 540 00:33:51,720 --> 00:33:54,170 Quindi cerchiamo di fare solo nome. 541 00:33:54,170 --> 00:33:57,000 E l'ultima cosa è, stiamo per avere di nuovo un po 'di jQuery. 542 00:33:57,000 --> 00:34:02,660 In realtà aggiungerlo al div, questa info pasto div che è attualmente vuoto. 543 00:34:02,660 --> 00:34:05,430 Quindi cerchiamo di selezionare quello. 544 00:34:05,430 --> 00:34:13,870 Useremo jQuery e selezionare Informazioni pasto ID div o informazioni pasto ID, mi dispiace. 545 00:34:13,870 --> 00:34:16,580 Vogliamo aggiungere a questo. 546 00:34:16,580 --> 00:34:21,030 Se abbiamo fatto test, per esempio, sarebbe solo sovrascrivere ogni volta. 547 00:34:21,030 --> 00:34:29,190 Quindi possiamo solo aggiungere questo. 548 00:34:29,190 --> 00:34:31,889 L'elemento corrente nella matrice, si otterrà il nome fuori di esso, 549 00:34:31,889 --> 00:34:38,159 e noi aggiungiamo alla fine del pasto informazioni ID div. 550 00:34:38,159 --> 00:34:40,120 E poi basta per farlo sembrare più pulito, 551 00:34:40,120 --> 00:34:51,550 faremo anche aggiungere una interruzione di riga, quindi non è tutto su una riga. 552 00:34:51,550 --> 00:34:55,280 Quindi, se tutto va bene, che dovrebbe essere buona per - 553 00:34:55,280 --> 00:34:57,220 prima di tutto, quando viene cliccato questo pulsante, 554 00:34:57,220 --> 00:35:00,070 invierà fuori una richiesta GET a questo URL. 555 00:35:00,070 --> 00:35:02,500 Quando i dati torna da esso, sarà analizzarlo, 556 00:35:02,500 --> 00:35:06,950 trasformarlo in JSON, ciclo su tutta la matrice che rappresenta i dati, 557 00:35:06,950 --> 00:35:10,310 e poi aggiungere il nome e una interruzione di linea 558 00:35:10,310 --> 00:35:16,500 per ogni linea in questa info pasto ID che in precedenza era vuota. 559 00:35:16,500 --> 00:35:18,910 Quindi, tornando a questa pagina, aggiorneremo, 560 00:35:18,910 --> 00:35:23,690 clic, scoprire - non funziona. Questo è un peccato. 561 00:35:23,690 --> 00:35:25,830 Ed è qui che entra in gioco il debug 562 00:35:25,830 --> 00:35:30,070 Index.html, linea 1. 563 00:35:30,070 --> 00:35:57,210 È interessante. 564 00:35:57,210 --> 00:35:59,720 Bene, bene, piuttosto che spendere tempo a fare questo, sto solo andando a 565 00:35:59,720 --> 00:36:07,070 tirare su il file che ho fatto, che è la versione completa. 566 00:36:07,070 --> 00:36:13,710 Non sono sicuro di quale sia la differenza, ma possiamo solo aprire questo posto. 567 00:36:13,710 --> 00:36:19,740 E andiamo al AJAX, e questo dovrebbe funzionare correttamente. 568 00:36:19,740 --> 00:36:21,730 Questo è ciò che è stato per il pranzo di oggi, 569 00:36:21,730 --> 00:36:24,870 in nessun ordine particolare, con le virgolette intorno ad esso, quindi non è la più bella. 570 00:36:24,870 --> 00:36:27,090 Ma, ovviamente, se si stesse facendo questo per un progetto definitivo, 571 00:36:27,090 --> 00:36:30,120 si potrebbe renderla migliore. 572 00:36:30,120 --> 00:36:32,530 Ma questo è solo un semplice esempio di come si fa la richiesta GET. 573 00:36:32,530 --> 00:36:34,580 E se guardiamo il codice vero e proprio, sto cercando di indovinare, io sono abbastanza sicuro 574 00:36:34,580 --> 00:36:39,690 è ancora praticamente la stessa. 575 00:36:39,690 --> 00:37:04,990 Ah, ho dimenticato di convertirlo in una stringa, il gioco è fatto. 576 00:37:04,990 --> 00:37:07,920 No, ancora non funziona. Indipendentemente da ciò, ecco il codice vero e proprio completato 577 00:37:07,920 --> 00:37:10,300 per ciò che questo dovrebbe essere simile, 578 00:37:10,300 --> 00:37:16,400 e lo fa la stessa cosa di quello che ho appena implementato. 579 00:37:16,400 --> 00:37:22,760 Quando si fa clic sul pulsante, utilizza GET JSON per analizzare automaticamente i dati. 580 00:37:22,760 --> 00:37:29,190 Prende i dati di ritorno da esso e scorre l'intera matrice 581 00:37:29,190 --> 00:37:32,770 e stampa il - qualunque cosa sia per il pranzo di oggi, il nome di essa, 582 00:37:32,770 --> 00:37:38,020 e aggiunge un'interruzione di riga dopo ogni riga. 583 00:37:38,020 --> 00:37:41,100 Ecco come si utilizza la funzione GET. 584 00:37:41,100 --> 00:37:44,040 >> È inoltre possibile utilizzare il POST, che non ho avuto tempo 585 00:37:44,040 --> 00:37:47,940 di scrivere un esempio per questo, ma siamo in grado di guardare la documentazione. 586 00:37:47,940 --> 00:37:53,220 Se guardate jquery.post, 587 00:37:53,220 --> 00:37:55,510 si può vedere che è quasi la stessa cosa. 588 00:37:55,510 --> 00:38:01,650 Si dispone di un URL, ma invece di passare parametri utilizzando - 589 00:38:01,650 --> 00:38:03,990 semplicemente inserendole nella stringa per l'URL stesso, 590 00:38:03,990 --> 00:38:06,300 devi passare a questa variabile di dati 591 00:38:06,300 --> 00:38:11,990 che è fondamentalmente un array, un dizionario che i parametri di mappe per i valori. 592 00:38:11,990 --> 00:38:17,690 Si passa che in, e che li manda in uso di un post. 593 00:38:17,690 --> 00:38:20,790 E una volta che hai questo, allora si può avere una funzione di successo 594 00:38:20,790 --> 00:38:23,930 che viene eseguito quando i dati provengono indietro. 595 00:38:23,930 --> 00:38:26,430 In caso contrario, è esattamente lo stesso. Quindi, utilizzando POST, 596 00:38:26,430 --> 00:38:29,970 si potrebbe desiderare di utilizzare il POST, ad esempio, se si dispone di un modulo di ingresso 597 00:38:29,970 --> 00:38:35,780 si lascia che le persone le password di ingresso in esso, e inviare le password off 598 00:38:35,780 --> 00:38:41,850 allo script di back-end, per controllare nel database se tale utente è valido o meno. 599 00:38:41,850 --> 00:38:46,700 Si può fare tutto utilizzando jQuery, invece di dover aggiornare la pagina a tutti. 600 00:38:46,700 --> 00:38:52,160 È così che ho implementato nel blog che vi ho mostrato in precedenza. 601 00:38:52,160 --> 00:38:59,530 Se andiamo al portale fine e log out, log out, 602 00:38:59,530 --> 00:39:02,600 Esci non funziona. 603 00:39:02,600 --> 00:39:13,360 Beh, vorrei solo aprirlo in una nuova finestra. 604 00:39:13,360 --> 00:39:16,580 Qui c'è una password, e mi stava andando a digitare qualcosa di casuale. 605 00:39:16,580 --> 00:39:18,590 Non funziona, ma si può vedere che non abbiamo fatto 606 00:39:18,590 --> 00:39:20,840 effettivamente essere necessario aggiornare la pagina a tutti. 607 00:39:20,840 --> 00:39:24,610 Il codice, se si vuole guardare, 608 00:39:24,610 --> 00:39:37,460 è tutto disponibile qui. 609 00:39:37,460 --> 00:39:45,680 Quindi, il codice che ho scritto l'anno scorso qualche volta. 610 00:39:45,680 --> 00:39:47,790 Come potete vedere qui, stiamo inviando una richiesta POST. 611 00:39:47,790 --> 00:39:50,400 Ho un file chiamato login.php nel back-end, 612 00:39:50,400 --> 00:39:53,860 che controlla se la password è valida. 613 00:39:53,860 --> 00:39:56,000 I parametri passiamo sono la password, mappato 614 00:39:56,000 --> 00:40:00,030 l'ingresso che è in questa casella di ingresso attualmente. 615 00:40:00,030 --> 00:40:04,110 E quando i dati ritorna, controlliamo. 616 00:40:04,110 --> 00:40:07,680 Se i dati sono false, allora diciamo password non corretta, scorrere verso il basso, 617 00:40:07,680 --> 00:40:09,580 e basta farla sparire dopo. 618 00:40:09,580 --> 00:40:12,320 In caso contrario, si carica la pagina di amministrazione. 619 00:40:12,320 --> 00:40:15,080 E questo era tutto fatto usando JSON. 620 00:40:15,080 --> 00:40:18,510 In questo numero di righe di codice, si può solo trasmettere i dati per il back-end, 621 00:40:18,510 --> 00:40:21,020 verificare se è corretto, verificare se si è collegati correttamente, 622 00:40:21,020 --> 00:40:24,200 ed effettivamente rispondere ad essa, reindirizzando la persona alla pagina corretta 623 00:40:24,200 --> 00:40:29,760 o non permettendo loro di accedere e dicendo loro che avevano una password non corretta. 624 00:40:29,760 --> 00:40:33,040 Ecco, questo è un esempio di come è possibile utilizzare POST jQuery 625 00:40:33,040 --> 00:40:37,010 per inviare una richiesta POST al tuo back-end, 626 00:40:37,010 --> 00:40:42,400 verificare se qualcuno ha effettuato l'accesso correttamente. 627 00:40:42,400 --> 00:40:44,820 >> Va bene, così che è tutti gli esempi che ho avuto, e tutta la roba che volevo coprire. 628 00:40:44,820 --> 00:40:47,110 Queste sono le principali cose che jQuery permette di fare: 629 00:40:47,110 --> 00:40:52,640 selezionare gli elementi, modificarli tramite la manipolazione DOM, 630 00:40:52,640 --> 00:40:56,340 è possibile aggiungere effetti, attivare le cose su certi eventi, 631 00:40:56,340 --> 00:41:00,430 e anche fare richieste AJAX molto senza problemi e con facilità. 632 00:41:00,430 --> 00:41:02,840 Quindi grazie per essere venuti o guardando, 633 00:41:02,840 --> 00:41:06,230 e se avete domande, fammelo sapere. Sì? 634 00:41:06,230 --> 00:41:12,730 [Studente] Torna quando hai mostrato, si ebbe JSON dopo la richiesta POST tra virgolette, 635 00:41:12,730 --> 00:41:15,170 e mi chiedevo cosa che ha fatto. 636 00:41:15,170 --> 00:41:20,070 >> Sì, lo vedo. Il problema era che, nell'esempio ho appena mostrato, 637 00:41:20,070 --> 00:41:25,790 vi era la parola JSON tra virgolette attorno al - 638 00:41:25,790 --> 00:41:31,690 Mi limiterò a tirarlo su di nuovo - in giro per la funzione POST. 639 00:41:31,690 --> 00:41:43,320 Sto solo tirando fino a mostrare. 640 00:41:43,320 --> 00:41:46,890 Quindi, ecco la richiesta POST, e c'è questo JSON tra virgolette. 641 00:41:46,890 --> 00:41:50,280 Che definisce proprio quello che ci aspettiamo l'uscita di essere. 642 00:41:50,280 --> 00:41:54,070 Quindi, se passiamo in JSON come il tipo di dati previsto, 643 00:41:54,070 --> 00:41:56,070 non è un requisito, ma se passiamo in, 644 00:41:56,070 --> 00:41:58,590 quindi i dati vengono automaticamente analizzati come JSON. 645 00:41:58,590 --> 00:42:00,600 Quindi noi non dobbiamo chiamare la funzione parse JSON su di esso, 646 00:42:00,600 --> 00:42:02,620 sarà solo accadere automaticamente. 647 00:42:02,620 --> 00:42:05,150 E se si dà un'occhiata alla documentazione per il POST, 648 00:42:05,150 --> 00:42:09,850 c'è questo tipo di variabile di dati, il tipo dei dati attesi dal server. 649 00:42:09,850 --> 00:42:12,660 Il valore predefinito è un'ipotesi intelligente che può essere sbagliato, 650 00:42:12,660 --> 00:42:15,520 in modo da poter lasciare in bianco, ma è solo il tipo di dati 651 00:42:15,520 --> 00:42:21,680 nella codifica che si sta utilizzando, se si tratta di JSON o XML o qualcosa d'altro. 652 00:42:21,680 --> 00:42:25,280 >> Tutte le altre domande? 653 00:42:25,280 --> 00:42:27,300 D'accordo. Se avete altre domande, non esitate a scrivermi 654 00:42:27,300 --> 00:42:30,830 a vshekhawat@college.harvard.edu, 655 00:42:30,830 --> 00:42:34,860 e le slide e il codice dovrebbe essere disponibile online molto presto. 656 00:42:34,860 --> 00:42:42,810 Buona fortuna con i progetti finali, spero si utilizza jQuery. 657 00:42:42,810 --> 00:42:46,810 [CS50.TV]