Μάθημα βίντεο: Εκμάθηση JavaScript. Βασικά στοιχεία JavaScript Javascript για παραδείγματα σχεδίασης ιστοσελίδων

Στο σύγχρονο σχεδιασμό ιστοσελίδων, η Javascript είναι απλώς ένα αναπόσπαστο στοιχείο. Εκτός από τη λειτουργικότητά του, το Javascript μπορεί να βελτιώσει σημαντικά τη συνολική εμπειρία χρήστη δημιουργώντας διάφορα εφέ μετάβασης, όπως ομαλές μεταβάσεις και κινούμενα σχέδια διαφανειών. Χάρη στην ανοιχτή αρχιτεκτονική του Javascript, δεν χρειάζεται πλέον να γράφουμε ξεχωριστά σενάρια από την αρχή. Ακολουθούν 47 πρόσθετα Javascript που μπορείτε να χρησιμοποιήσετε για να βελτιώσετε την εμπειρία χρήστη και τη λειτουργικότητα του ιστότοπού σας. Βεβαιωθείτε ότι έχετε ελέγξει δείγματα τοποθεσιών που θα σας δείξουν πώς μπορείτε να χρησιμοποιήσετε αυτές τις προσθήκες.

Δύο πιο δημοφιλή Javascript Framework

Σήμερα, τα δύο πιο χρησιμοποιούμενα πλαίσια Javascript είναι το jQuery και το MooTools. Ρίξτε μια ματιά στη δημοσκόπηση που ακολουθεί:

Αναδυόμενες εικόνες και ζουμ






Lightbox

Πιθανότατα είστε εξοικειωμένοι με το Lightbox - ένα απλό εργαλείο Javascript που χρησιμοποιείται για την επικάλυψη εικόνων στην τρέχουσα σελίδα. Το αρχικό Lightbox κυκλοφόρησε το 2005. Έκτοτε, έχουν κυκλοφορήσει πολλά σενάρια με παρόμοια λειτουργικότητα αλλά χρησιμοποιώντας διαφορετικές προσεγγίσεις Javascript και βιβλιοθήκες.

Αυτό το πρόσθετο είναι παρόμοιο με το Lightbox JS, γραμμένο μόνο στη βιβλιοθήκη jQuery.

Το Thickbox είναι ένα πρόσθετο jQuery που μοιάζει πολύ με το Lightbox, εκτός από περισσότερες δυνατότητες. Σας επιτρέπει να προβάλλετε μία ή περισσότερες εικόνες ταυτόχρονα, ενσωματωμένο περιεχόμενο, περιεχόμενο σε αιωρούμενο πλαίσιο ή περιεχόμενο που μεταφέρεται μέσω AJAX σε ένα υβριδικό μοντέλο.

Σημείωση: Το Web Designer Wall χρησιμοποιεί το Thickbox για να εμφανίσει τις γκαλερί εικόνων και τις επιδείξεις εκμάθησης.

Το Highslide JS εξυπηρετεί τον ίδιο σκοπό με το Thickbox, αλλά έχει επίσης ένα εφέ ζουμ που σας επιτρέπει να σύρετε και να αποθέσετε μια εικόνα επικάλυψης.

Το FancyBox είναι ένα πρόσθετο jQuery που σχεδιάστηκε για να αντικαταστήσει το υπερβολικά χρησιμοποιημένο Lightbox. Έχει παρόμοια χαρακτηριστικά αλλά ωραιότερα εφέ μετάβασης (σχεδίαση που μοιάζει με Mac).

Το jQZoom σάς επιτρέπει να εμφανίζετε μεγαλύτερες εικόνες εικονιδίων. Αυτή η τεχνική χρησιμοποιείται συνήθως σε ιστότοπους ηλεκτρονικού εμπορίου (δείτε το Gap για παράδειγμα).

Γκαλερί και παρουσιάσεις




Παρουσίαση 2! Αυτή είναι μια τάξη javascript για Mootools 1.2 που έχει σχεδιαστεί για να ζωντανεύει την παρουσίαση εικόνων στον ιστότοπό σας.

Χρησιμοποιώντας το mootools v1.11, αυτό το σύστημα slideshow και γκαλερί javascript σάς επιτρέπει να δημιουργείτε απλές και ομαλές γκαλερί εικόνων, slideshows, αφίσες και πολλά άλλα ωραία gadget για τον ιστότοπό σας.

Η Galleria είναι μια συλλογή εικόνων javascript γραμμένη σε jQuery. Φορτώνει εικόνες μία προς μία από μια λίστα χωρίς ταξινόμηση και εμφανίζει εικονίδια καθώς φορτώνεται κάθε εικόνα. Μπορεί να δημιουργήσει μια ποικιλία εικονιδίων, αν επιλέξετε, κλιμακούμενα ή μη, κεντραρισμένα ή περικομμένα ώστε να ταιριάζουν στο πλαίσιο εικονιδίων που ορίζεται στο CSS.

Το NoobSlide είναι μια κλάση MooTools που σας επιτρέπει να δημιουργείτε χρονομετρημένες παρουσιάσεις και συρόμενα πάνελ. Ρίξτε μια ματιά σε αυτόν τον ιστότοπο για μια επίδειξη.

Ακολουθεί μια επίδειξη ενός γραφικού στοιχείου ρυθμιστικού από τη βιβλιοθήκη jQuery UI που χρησιμοποιείται για τη δημιουργία ενός ρυθμιστικού προϊόντος όπως αυτό στον ιστότοπο Apple - Mac.

Στροβιλοδρόμιο




Το jCarousel είναι ένα πρόσθετο jQuery που σας επιτρέπει να ελέγχετε μια λίστα στοιχείων σε οριζόντια ή κατακόρυφη σειρά. Τα στοιχεία, τα οποία μπορεί να είναι είτε στατικό περιεχόμενο σε HTML είτε να φορτωθούν χρησιμοποιώντας (ή χωρίς) AJAX, μπορούν να μετακινηθούν προς τα εμπρός και προς τα πίσω (με ή χωρίς κινούμενα σχέδια).

Το αναδιπλούμενο στοιχείο διαχειρίζεται μια λίστα περιεχομένου (στοιχεία HTML LI μέσα σε μια ετικέτα UL) που μπορεί να εμφανιστεί κάθετα ή οριζόντια. Το περιεχόμενο μπορεί να μετακινηθεί προς τα πάνω και προς τα κάτω με ή χωρίς κινούμενα σχέδια. Το περιεχόμενο μπορεί να είναι στατικό περιεχόμενο HTML ή η λίστα των στοιχείων μπορεί να δημιουργηθεί δυναμικά εν κινήσει (με ή χωρίς τη χρήση AJAX).

Το Carousel Slideshow είναι ένα πολύ γνωστό σενάριο DHTML για την εμφάνιση εικόνων στον ιστότοπό σας. Εμφανίζει εικόνες σε 3D, σαν καρουζέλ.

Το iCarousel είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο javascript για τη δημιουργία widget στυλ καρουζέλ. Μπορείτε επίσης να χρησιμοποιήσετε το iCarousel ως ticker/scroller ειδήσεων ή ως γκαλερί εικόνων.

Ρυθμιστικό πίνακα

Το Coda Slider είναι ένα πρόσθετο jQuery που προσομοιώνει το εφέ διαφάνειας του πίνακα που βρίσκεται στον ιστότοπο της Coda.

Το Sliding Tabs είναι μια προσθήκη mootools 1.11 με πολύ ωραία εφέ. Αυτός είναι ένας κλώνος κάτι που χρησιμοποιείται στον ιστότοπο Coda της Panic Software, ο οποίος με τη σειρά του μοιάζει πολύ με το γραφικό στοιχείο που χρησιμοποιείται στον ιστότοπο του iTunes Music Store.

Καρτέλες

Το jQuery Tabs είναι ένα ισχυρό και ευέλικτο πρόσθετο jQuery που σας επιτρέπει να δημιουργήσετε πλήρως προσαρμοσμένη πλοήγηση καρτελών (συνιστάται ιδιαίτερα).

Ένα άλλο εξαιρετικό σεμινάριο από το jQueryForDesigners.com θα σας δείξει πώς να δημιουργήσετε βασική πλοήγηση καρτελών χρησιμοποιώντας το jQuery.

Το MooTabs είναι μια μικροσκοπική τάξη (3kb) για το MooTools. Όπως υποδηλώνει το όνομα, ο κύριος σκοπός του είναι να σας βοηθήσει να δημιουργήσετε απλές καρτέλες πλοήγησης.

Ένα εξαιρετικά ευέλικτο πρόσθετο jQuery που σας επιτρέπει να δημιουργείτε κινούμενα σχέδια κύλισης σε οποιαδήποτε θέση σε μια ιστοσελίδα με προσαρμόσιμες επιλογές διαγραφής και ταχύτητας κύλισης.

Ένα απλό σενάριο MooTools που μπορεί να δημιουργήσει ομαλή κύλιση σε μια άγκυρα σε μια ιστοσελίδα.

Ένα προσαρμοσμένο πρόσθετο jQuery που εμφανίζει συμβολοσειρές συμβουλών εργαλείου - είτε με στατικό περιεχόμενο HTML ή AJAX.

Ένα άλλο καλό πρόσθετο συμβουλής εργαλείου.

Ένα πολύ απλό σενάριο jQuery που εμφανίζει μια συμβολοσειρά συμβουλών εργαλείου και μια προεπισκόπηση εικόνας (το χρησιμοποιώ στην Best Web Gallery).

Μενού ακορντεόν

Αυτό το πρόσθετο δημιουργεί ένα μενού ακορντεόν. Λειτουργεί με ένθετες λίστες, λίστες ορισμών ή απλώς ένθετα div.

Το πρόσθετο Accordion μπορεί να επισημάνει και να εμφανίσει τέλεια το περιεχόμενο που χρειάζεστε.

Το Image Menu είναι μια προσθήκη MooTools που μπορεί να δημιουργήσει ένα οριζόντιο μενού ακορντεόν με εικόνες.

Αντικατάσταση κειμένου Flash με εικόνα

Το sIFR μπορεί να αντικαταστήσει σύντομα αποσπάσματα απλού κειμένου προγράμματος περιήγησης με κείμενο που αποδίδεται στη γραμματοσειρά που επιλέγετε, ανεξάρτητα από το αν οι χρήστες σας έχουν εγκαταστήσει μια γραμματοσειρά στα συστήματά τους. Ολοκληρώνει το έργο του χρησιμοποιώντας έναν συνδυασμό javascript, CSS και Flash.

Ένα πρόσθετο jQuery που θα εκτελεί λειτουργίες sIFR για εσάς.

Το Facelift Image Replacement είναι ένα σενάριο αντικατάστασης εικόνας που δημιουργεί δυναμικά μια αναπαράσταση κειμένου σε μια εικόνα στην ιστοσελίδα σας με γραμματοσειρές που διαφορετικά ενδέχεται να μην είναι διαθέσιμες στους επισκέπτες σας. Η εικόνα που δημιουργείται εισάγεται αυτόματα στην ιστοσελίδα σας μέσω Javascript και είναι ορατή σε όλα τα σύγχρονα προγράμματα περιήγησης

Ο πόρος Creative Bloq δημοσίευσε υλικό στο οποίο οι συντάκτες του μοιράστηκαν με τους αναγνώστες τα καλύτερα, κατά τη γνώμη τους, παραδείγματα χρήσης JavaScript για τη δημιουργία ιστοσελίδων. Η CPU επέλεξε τους 30 πιο ενδιαφέροντες πόρους.

1. Mike Kus Portfolio

Το χαρτοφυλάκιο του σχεδιαστή Ιστού Mike Kus έχει σχεδιαστεί με "καθαρό και συγκρατημένο στυλ", γράφουν οι συντάκτες στο Creative Bloq. Συνδυάζει μεγάλες εικόνες με απλά στοιχεία διεπαφής χρήστη.

«Σκέφτομαι τη δουλειά μου ως επωνυμία. Δεν χρειάζεται να προσθέσω περιττά σχεδιαστικά στοιχεία στον ιστότοπό μου», λέει ο Kus.

Το χαρτοφυλάκιο του Kus είναι εξίσου εύκολο στην πλοήγηση σε όλους τους τύπους οθονών - σημειώνει ότι αυτό το αποτέλεσμα ήταν το πιο δύσκολο να επιτευχθεί. Κάθε έργο του σχεδιαστή αντιπροσωπεύεται από μια εικόνα ή φωτογραφία - έτσι ώστε ο χρήστης να θέλει να μάθει περισσότερα για το έργο.

2. Γεια σου Δευτέρα

Ο ιστότοπος του δημιουργικού πρακτορείου Hello Monday έχει υποστεί σημαντικές αλλαγές, σημειώνουν οι συντάκτες του άρθρου. Οι προγραμματιστές της εταιρείας έχουν κάνει εξαιρετική δουλειά. Κατάφεραν να κάνουν τη διεπαφή φιλική προς το χρήστη.

Ιστοσελίδα του Old Hello Monday

Τώρα ο ιστότοπος παρουσιάζει παραδείγματα παραγγελιών που έχουν ήδη ολοκληρωθεί από το πρακτορείο - κάθε έργο έχει τη δική του σελίδα στην οποία περιγράφεται το ιστορικό του, κάτι που δίνει στον χρήστη μια βαθύτερη κατανόηση του τι κάνει το Hello Monday.

Ενημερώθηκε η ιστοσελίδα Hello Monday

«Προσπαθήσαμε να απομακρυνθούμε από την ιδέα για το πώς θα πρέπει να μοιάζει ένας ιστότοπος δημιουργικής εταιρείας», λέει η Katie Hertel, project manager για τον επανασχεδιασμό της ιστοσελίδας Hello Monday. Οι συντάκτες του υλικού βρίσκουν τον ιστότοπο πολύ ελκυστικό και ανταποκρινόμενο, κάτι που βοηθείται από την οργάνωση έργων στην κύρια σελίδα: ενημερώνεται αυτόματα με νέες εργασίες από το πρακτορείο κατά την κύλιση προς τα κάτω.

3.Multeor

Το Multeor είναι ένα μαζικό διαδικτυακό παιχνίδι για πολλούς παίκτες γραμμένο σε JavaScript χρησιμοποιώντας το στοιχείο καμβά HTML5. Σχεδιάστηκε από τους Arjen de Vries και Philidor Weise και σχεδιάστηκε από τον Arthur van Hoog. Το κύριο καθήκον του χρήστη στο παιχνίδι είναι να ελέγχει την πτώση των μετεωριτών, λαμβάνοντας πόντους για την καταστροφή που αφήνουν πίσω τους.

Το παιχνίδι χρησιμοποιεί έναν διακομιστή Node.js για τη διαχείριση της επικοινωνίας μεταξύ επιτραπέζιων και φορητών συσκευών χρησιμοποιώντας WebSockets.

Ο Weise τονίζει ότι η ανάπτυξη του Multeor δεν χρησιμοποίησε υπάρχουσες βιβλιοθήκες παιχνιδιών:

Γράψαμε τα πάντα μόνοι μας - ήταν πολύ συναρπαστικό και μάθαμε πολλά νέα πράγματα. Το γεγονός ότι δεν βασιζόμασταν σε συγκεκριμένες συναρμολογήσεις και προκατασκευές μας έδωσε μια ορισμένη ελευθερία δράσης: δεν χρειαζόταν να ασχοληθούμε με την απόδοση υπαρχόντων γραφικών, τον χειρισμό συγκρούσεων και την ξεχωριστή περιγραφή του συστήματος που ευθύνεται για τις εκρήξεις.

4. Χρονοδιάγραμμα εγκλήματος

Το Crime Timelime είναι ένας συσσωρευτής που συλλέγει δεδομένα εγκλήματος στο Ηνωμένο Βασίλειο χρησιμοποιώντας δημόσια API. Επιτρέπει στους χρήστες να μάθουν πώς πάνε τα πράγματα στην περιοχή τους.

«Οργανώσαμε τον ιστότοπο με τέτοιο τρόπο ώστε να δείχνει έναν χάρτη της περιοχής και την τοποθεσία των εγκλημάτων - για τον μήνα που επιλέχθηκε από τον χρήστη στο παρακάτω πλαίσιο», λέει ο προγραμματιστής του έργου Alex Miller.

Ο πόρος χρησιμοποιεί το API των Χαρτών Google Το jQuery και το jQRangeSlider χρησιμοποιήθηκαν για τη δημιουργία ενός μηνιαίου πίνακα. Όταν ένας χρήστης αλληλεπιδρά με τον χάρτη, όπως κάνοντας κλικ σε μια συγκεκριμένη τοποθεσία στον χάρτη, ο ιστότοπος ενημερώνει την εικόνα χρησιμοποιώντας JavaScript. Οι φυσαλίδες καταμέτρησης εγκλημάτων δημιουργήθηκαν χρησιμοποιώντας CSS και κινήθηκαν χρησιμοποιώντας jQuery.

Εδώ είναι Σήμερα χρησιμοποιείται JavaScript για τη δημιουργία κινούμενων εικόνων. Ο δημιουργός του πόρου, ο σχεδιαστής Luke Twyman, εξηγεί την ιδέα του ως εξής: «Ήθελα να δημιουργήσω κάτι που θα έδινε σε όλους μια αίσθηση χρονικής κλίμακας. Το Here is Today μας βοηθά να καταλάβουμε πόσο μεγάλη είναι η ιστορία του σύμπαντος».

Ο Twyman σημειώνει ότι από την αρχή αποφάσισε να εγκαταλείψει τις τυπικές μονάδες μέτρησης - pixel, και περιέγραψε τις δικές του με βάση τα μεγέθη της οθόνης. Αυτό έγινε για να διασφαλιστεί ότι ο ιστότοπος φαίνεται ίδιος σε όλες τις συσκευές.

Αυτό είναι το δεύτερο έργο JavaScript που δημιουργήθηκε από τον σχεδιαστή και σε αυτό χρησιμοποίησε στοιχεία που δεν χρησιμοποίησε στο προηγούμενο. Ωστόσο, ο Twyman βρίσκει πολλές ομοιότητες στη γλώσσα με άλλες γλώσσες προγραμματισμού υψηλού επιπέδου.

6. Tweetmap

Το Tweetmap απεικονίζει τις χώρες σε έναν χάρτη σε αναλογία με τον αριθμό των tweets που αποστέλλονται από αυτές. Ο προγραμματιστής υπηρεσιών Rob Hawkes παραθέτει διάφορες τεχνολογίες που χρησιμοποιήθηκαν στη δημιουργία του: TopoJSON, D3.js, Node.js, PhantomJS και ειδικούς αλγόριθμους για την κατασκευή γειτονικών χαρτογραμμάτων σε πραγματικό χρόνο.

Επιλέξαμε το Node.js γιατί είχαμε ήδη εμπειρία στη χρήση του και γιατί είναι μια απλή, γρήγορη και ευέλικτη πλατφόρμα. Για να κάνουμε κίνηση στον χάρτη (σε μορφή TopoJSON) χρησιμοποιούμε το D3, μια φανταστική βιβλιοθήκη οπτικοποίησης δεδομένων. Συγκεκριμένα, χρησιμοποιούμε εκτενώς τη γεωγραφική μονάδα, η οποία επιτρέπει σύνθετους γεωγραφικούς υπολογισμούς και μετασχηματισμούς.

Για να αποφευχθούν προβλήματα με την παρουσίαση χαρτών στο πρόγραμμα περιήγησης του πελάτη, το σύστημα δημιουργεί χάρτες στον διακομιστή χρησιμοποιώντας το D3, τους εκκινεί και τους αποδίδει χρησιμοποιώντας τη μηχανή PhantomJS και μόνο στη συνέχεια τους μεταφέρει στον χρήστη - έτσι αποφεύγεται η δημιουργία «τρυπών» κατά την εμφάνιση χαρτών.

7. Το ταξίδι

Το ταξίδι είναι μια διαδραστική ταινία που δημιουργήθηκε χρησιμοποιώντας JavaScript και HTML5 (χωρίς Flash). Ο Otto Nascarella, ο δημιουργός του έργου, πιστεύει ότι το έργο της ανάπτυξης μιας τέτοιας υπηρεσίας αποδείχθηκε πολύ δύσκολο:

Οι περισσότερες από τις δυσκολίες που αντιμετωπίσαμε οφείλονταν στο γεγονός ότι η HTML5 τη στιγμή που γραφόταν ο ιστότοπος δεν διέθετε τα μέσα για την ανάπτυξη πολλαπλών προγραμμάτων περιήγησης. Στη συνέχεια αποφασίσαμε ότι θα συνιστούσαμε στους πελάτες να χρησιμοποιούν το Chrome.

Ο κώδικας JavaScript του ιστότοπου χρησιμοποιεί jQuery για σχεδόν όλες τις εργασίες. Οι προγραμματιστές χρησιμοποίησαν επίσης το TextBlur και το TextDrop για να θολώσουν και να κινήσουν κείμενο.

8. Si Digital

Αυτή η σελίδα, γραμμένη σε JavaScript, είναι το νέο χαρτοφυλάκιο και ιστολόγιο της εταιρείας σχεδιασμού και μάρκετινγκ Si Digital. Ο κύριος προγραμματιστής του έργου, Alex Kruk, εξηγεί το animation στην κεντρική σελίδα: "Το υγρό που κινείται μέσα από τους σωλήνες καθοδηγεί τους χρήστες στο χαρτοφυλάκιό μας - ενεργοποιεί την κίνηση των εικόνων σε κάθε στάδιο της εξερεύνησης του ιστότοπου του πελάτη."

Για να επιτύχει αυτό το αποτέλεσμα, ο Crook χρησιμοποίησε τη μέθοδο jQuery.animate(). Επιπλέον, προσθέτει, ήταν απαραίτητο να επιλεγεί η σωστή ταχύτητα για το γέμισμα των σωλήνων με υγρό – άλλωστε όλοι διαβάζουν με διαφορετικές ταχύτητες.

Ένα διαδραστικό γράφημα στη σελίδα που περιγράφει τα ολοκληρωμένα έργα και την ομάδα του πρακτορείου, που υλοποιείται με χρήση jQuery. Το χρονοδιάγραμμα, σύμφωνα με τον Crook, δημιουργείται δυναμικά - με βάση πληροφορίες από τη βάση δεδομένων, χρησιμοποιώντας την τεχνολογία Ajax.

9. Η ιστοσελίδα του Jean Halfstein

Ο Jean Halfstein είναι σχεδιαστής ιστοσελίδων. Στο χαρτοφυλάκιό του, οι συντάκτες του άρθρου έλκονταν περισσότερο από την κεντρική σελίδα - και τα κινούμενα σχέδια σε αυτήν. «Πέρασα πολύ καλά ανακατεύοντας με τα διαφορετικά εφέ. Μου αρέσει πολύ να χρησιμοποιώ νέες τεχνολογίες, γι' αυτό αποφάσισα να κάνω την κύρια σελίδα του ιστότοπού μου ένα είδος sandbox όπου διασκεδάζω με το Three.js και το στοιχείο καμβά HTML5», λέει ο Halfstein.

Η ιδέα του σχεδιαστή ήταν να δημιουργήσει ένα χαρτοφυλάκιο που να ακολουθεί τις σύγχρονες τάσεις - έπρεπε να είναι μινιμαλιστικό, αλλά ταυτόχρονα να φέρνει κάτι φρέσκο ​​στο σχεδιασμό της ιστοσελίδας. Έτσι αποφάσισε να χρησιμοποιήσει χειριστήρια κινούμενων σχεδίων χρησιμοποιώντας κινήσεις του ποντικιού και σύρσιμο αντί για πλήκτρα πλοήγησης.

10. Χαρτοφυλάκιο Nick Jones

Ο Jones λέει ότι όταν ανέπτυξε τον ιστότοπο, είχε περισσότερη εμπειρία με το Flash παρά με JavaScript, αλλά ήθελε να δοκιμάσει κάτι νέο για να δει τι μπορούσε να κάνει. «Συνειδητοποίησα αμέσως ότι η σύνταξη JavaScript ήταν σχεδόν ίδια με τη σύνταξη του ActionScript, έτσι γρήγορα κατάλαβα», περιγράφει ο Jones τη διαδικασία κωδικοποίησης.

Ο Τζόουνς θυμάται ότι ο Flash δεν του έδωσε πρόσβαση στην εργασία με κινήσεις του ποντικιού - ήταν μια νέα εμπειρία που του άρεσε πολύ. Ο προγραμματιστής ήθελε να επιτύχει μια ανταπόκριση του ιστότοπου που δεν μπορούσε να επιτύχει χρησιμοποιώντας μεταβάσεις κλάσεων στο CSS. Ο Τζόουνς είναι ευχαριστημένος με το αποτέλεσμα που επιτεύχθηκε:

Εάν σκέφτεστε να αλλάξετε από ActionScript σε JavaScript, μη διστάσετε. Όταν έφτιαχνα τον ιστότοπό μου, ήθελα να δω αν η JavaScript θα μπορούσε να κάνει αυτό που θα μπορούσε να κάνει το Flash. Και είμαι πολύ εντυπωσιασμένος.

11. MapsTD

Το MapsTD είναι ένα διαδικτυακό παιχνίδι, η ουσία του οποίου είναι η υπεράσπιση ενός φρουρίου. Το φρούριο είναι το σπίτι του ίδιου του χρήστη, το οποίο πρέπει να υπερασπιστεί από τους κακούς που περιφέρονται ακούραστα στους δρόμους της περιοχής.

Ο δημιουργός του έργου Duncan Barclay εξηγεί πώς λειτουργεί: «Χρησιμοποιήσαμε το Google Maps API, MooTools και JavaScript. Το πιο δύσκολο κομμάτι είναι να βρεις τη διαδρομή που θα ακολουθήσουν οι εχθροί του χρήστη. Μόλις ο παίκτης επιλέξει ένα σημείο εκκίνησης, η υπηρεσία αναζητά γεωγραφικό μήκος και πλάτος και υπολογίζει πιθανές διαδρομές χρησιμοποιώντας το Google."

Καθώς το παιχνίδι εξελίσσεται, όλο και περισσότεροι αντίπαλοι εμφανίζονται στην οθόνη. Η Barclay λέει ότι οι προγραμματιστές έπρεπε να "παλέψουν" με το χρονισμό του προγράμματος περιήγησης - το γεγονός είναι ότι οι περισσότεροι από αυτούς μειώνουν τη συχνότητα ελέγχου για ενημερώσεις στη σελίδα με την πάροδο του χρόνου και ήταν απαραίτητο να βεβαιωθείτε ότι αυτό δεν συνέβη.

Ένα άλλο πρόβλημα ήταν ότι καθώς προχωρούσατε στο παιχνίδι, ο αριθμός των εχθρών αυξανόταν και η απόδοση μειώθηκε. Ως αποτέλεσμα, οι προγραμματιστές αποφάσισαν να αυξήσουν το επίπεδο των δεξιοτήτων των κακοποιών και όχι τον αριθμό τους.

12. Κατάλογοι Glimpse

Ο πόρος Glimpse αναπτύχθηκε από κοινού από την ομάδα Windows IE και το έργο TheFind και συνδυάζει το σύστημα αναζήτησης TheFind και την εφαρμογή των ίδιων προγραμματιστών για online αγορές στο Facebook. Ως μέρος του Glimpse, οι προγραμματιστές κυκλοφόρησαν το δικό τους πλαίσιο βασισμένο στο Turn.js.

Ο στόχος της ομάδας από την αρχή ήταν να κάνει το Glimpse μια διαδικτυακή εφαρμογή και όχι μια συνηθισμένη ιστοσελίδα. Οι προγραμματιστές χρησιμοποίησαν το πρότυπο μοντέλο-προβολή-συμπεριφορά, το οποίο διαχωρίζει το μοντέλο δεδομένων, τη διεπαφή χρήστη και την αλληλεπίδραση με τον πελάτη σε τρία ξεχωριστά στοιχεία. Η υπηρεσία χρησιμοποιεί πρότυπα απόδοσης μοντέλων από την πλευρά του πελάτη Thrift ή JSON, ανάλογα με την υπολογιστική ισχύ του πελάτη.

Η βιβλιοθήκη Turn.js χρησιμοποιήθηκε επίσης για την ανάπτυξη καταλόγων. Χρησιμοποιώντας CSS και JavaScript, δίνεται όγκος στα μοντέλα που παρουσιάζονται στον ιστότοπο εφαρμόζοντας σκιές στην εικόνα.

13. Red Bull Music Academy Radio

Το RBMA Radio χρησιμοποιεί το εργαλείο Modernizr, το οποίο επιτρέπει την ανάπτυξη πολλαπλών προγραμμάτων περιήγησης με HTML5 και CSS. Το Modernizr ενημερώνεται συνεχώς, έτσι οι δημιουργοί ιστοτόπων μπορούν να βελτιώσουν τον κώδικα καθώς εισάγονται νέες δυνατότητες.

Επιπλέον, κατά την υλοποίηση της υπηρεσίας, χρησιμοποιήθηκε η βιβλιοθήκη Backbone.js - χρησιμοποιείται για τη φόρτωση πλακιδίων για τη δημιουργία του εφέ μιας ατελείωτης σελίδας.

14. Nouvelle Vague

Η Nouvelle Vague είναι μια ιστοσελίδα από το γαλλικό πρακτορείο σχεδιασμού Ultranoir. Η υπηρεσία σάς επιτρέπει να "παρακολουθείτε" tweets χρησιμοποιώντας ένα δεδομένο hashtag. Υλοποιείται χρησιμοποιώντας JavaScript, WebGL και HTML5. Η HTML5, ωστόσο, είναι υπεύθυνη μόνο για το teaser κατά το άνοιγμα ενός πόρου.

Ένας από τους προγραμματιστές του πρακτορείου είπε ότι χρειάστηκαν τέσσερις μήνες για να δημιουργηθεί ο ιστότοπος και τρία άτομα εργάστηκαν σε αυτόν. «Μας ενδιέφερε πραγματικά να δοκιμάσουμε το WebGL», εξηγεί.

Ο κύριος στόχος του έργου ήταν να αναδημιουργήσει την ατμόσφαιρα από το βίντεο χρησιμοποιώντας τρισδιάστατες εικόνες. Η ομάδα έχει βυθιστεί στις νέες τεχνολογίες HTML5, CSS3 και JavaScript και πιστεύει ότι αυτές οι γλώσσες μπορούν να γίνουν πρότυπα για την εργασία με 3D στο μέλλον - λόγω της υψηλής ποιότητας απόδοσης, της πλούσιας αλληλεπίδρασης και της ανταπόκρισης.

15. Η Σύγκλιση

Το The Convergence είναι ένα παιχνίδι προγράμματος περιήγησης με ρετρό γραφικά που θυμίζουν το Super Mario Bros. Επιδεικνύει την εκπληκτική δύναμη της JavaScript και της HTML5 και αποδεικνύει ότι η HTML5 μπορεί να κάνει τη δουλειά της εξίσου καλά με το Flash.

Οι προγραμματιστές υπόσχονται να προσθέσουν ήχο και νέα επίπεδα στο παιχνίδι στο μέλλον, καθώς και υποστήριξη για το Mozilla Gamepad API.

16. Kindle Cloud Reader

Αυτή η εφαρμογή Ιστού κάνει πραγματικότητα το "αγοράστε μία φορά, διαβάστε σε όλες τις συσκευές". Χρησιμοποιεί τεχνολογίες HTML5, το JavaScript API, τις βιβλιοθήκες διεπαφής χρήστη jQuery και jQuery και πολλά πρόσθετα jQuery, συμπεριλαμβανομένου του jScrollPane για κύλιση σελίδας και των προτύπων jQuery. Επιπλέον, η ομάδα ανάπτυξης χρησιμοποίησε την WebSQL για την υποστήριξη της λειτουργίας εκτός σύνδεσης.

17. Les Enfants Terrible

Ο ιστότοπος που ξεκίνησε από το στούντιο WeFail, πιστεύουν οι συντάκτες του σημειώματος, φαίνεται τρομακτικός, αλλά εξακολουθεί να είναι πολύ ωραίος. Ο πόρος είναι κατασκευασμένος με αρκετά έντονο στυλ. Η JavaScript χρησιμοποιείται για την κίνηση της αλληλεπίδρασης μεταξύ του χρήστη και του συστήματος. Για να διασφαλιστεί ότι η κύλιση πραγματοποιήθηκε μόνο για μεμονωμένα στοιχεία διεπαφής, η ομάδα χρησιμοποίησε την προσθήκη jQuery ScrollTo. Για να εμφανιστεί το βίντεο όχι σε αναδυόμενα παράθυρα, αλλά απευθείας στον ιστότοπο, χρησιμοποιήθηκε η βιβλιοθήκη Shadowbox.js.

Επιπλέον, ο κώδικας Les Enfants χρησιμοποιεί το πρόσθετο jQuery Cycle - είναι υπεύθυνο για την εμφάνιση εικόνων και παραδειγμάτων της δουλειάς του πρακτορείου.

«Ξεκινήσαμε το Les Enfants για να κατανοήσουμε τις δυνατότητες απόδοσης της JavaScript. Αποδείχθηκε ότι σε συνδυασμό με το CSS Transform μπορείτε να επιτύχετε εξαιρετικά αποτελέσματα», λέει ο προγραμματιστής Martin Hugh.

Όχι πολύ καιρό πριν, σημειώνει ο Hugh, ήταν δυνατή η δημιουργία τέτοιων πραγμάτων μόνο χρησιμοποιώντας το Flash, αλλά τώρα υπάρχει μια βιώσιμη εναλλακτική: JavaScript.

18. Pinterest

Το Pinterest είναι ένα χαρακτηριστικό παράδειγμα χρήσης JavaScript για τη δημιουργία του εφέ μιας άπειρης σελίδας. Για να δημιουργήσουμε τον ιστότοπο, χρειαστήκαμε εργαλεία jQuery, jQuery UI και το πρόσθετο PageLess.

Σύμφωνα με τους συντάκτες του σημειώματος, το PageLess είναι ζωτικής σημασίας για το Pinterest, επειδή η ατελείωτη κύλιση και η φόρτωση νέων pin είναι πολύ πιο αποτελεσματική στο να κρατήσει την προσοχή του χρήστη από τις κοινωνικές λειτουργίες όπως ο σχολιασμός αναρτήσεων.

19. Love Bomb Builder

Το Love Bobm Builder βοηθά τους χρήστες να εκφράσουν την αγάπη ή την ευγνωμοσύνη τους σε κάποιον. Αυτός είναι ένας προσεγμένος και απλός ιστότοπος που σας επιτρέπει να δημιουργήσετε και να στείλετε ένα μήνυμα βόμβας.

Ο πόρος χρησιμοποιεί το εργαλείο Modernizr για την έγκαιρη ενημέρωση κώδικα JavaScript και HTML5.

20. Michelberger Booze

Όταν ένας χρήστης προσγειώνεται σε έναν ιστότοπο, το πρώτο πράγμα που βλέπει είναι το λεγόμενο "preloader" - μπορεί να φαίνεται ότι έχει δημιουργηθεί χρησιμοποιώντας Flash, αλλά αυτό δεν συμβαίνει. Η HTML5 και η JavaScript είναι υπεύθυνες για το γέμισμα του ποτηριού με μπύρα καθώς φορτώνει.

Ο πόρος χρησιμοποιεί μια λειτουργία μερικής κύλισης - μόνο για μεμονωμένα στοιχεία διεπαφής και επιτρέπει στο χρήστη να αλληλεπιδρά διαδραστικά με εικόνες.

Κάνοντας κλικ στις μάσκες ζώων, ο πελάτης αποστέλλεται σε άλλες σκηνές - όλα τα εφέ κινούμενων εικόνων στις οποίες εκτελούνται χρησιμοποιώντας jQuery.animate().

21. Τρέλλο

Το Trello είναι μια συνεργατική ή ατομική εφαρμογή προγραμματισμού όπου οι χρήστες μπορούν να δημιουργήσουν λίστες με ολοκληρωμένες και ημιτελείς εργασίες και να μοιραστούν την πρόοδο σε πραγματικό χρόνο. Ο ιστότοπος αναπτύσσεται χρησιμοποιώντας Node.js, MongoDB και Backbone.js.

Ο συνδημιουργός του Trello, Daniel le Cherminan, εξηγεί ότι η χρήση μόνο μιας γλώσσας κατά τη σύνταξη ενός ιστότοπου βοηθά τα νέα μέλη της ομάδας να μπουν στη διαδικασία ανάπτυξης πιο γρήγορα.

Η επικοινωνία μεταξύ των χρηστών υλοποιείται με χρήση Web Sockets - ο Le Cherminan σημειώνει ότι πρόκειται για μια αρκετά νέα τεχνολογία, επομένως υπήρχαν κάποιες δυσκολίες στη ρύθμισή της.

22. BrowserQuest

Αυτό το παιχνίδι σε ρετρό στυλ, που δημιουργήθηκε από το Little Workshop, έχει ως στόχο να δείξει τη δύναμη της HTML5, της JavaScript και, ειδικότερα, των Web Sockets. Μπορεί να υποστηρίξει αλληλεπιδράσεις μεταξύ χιλιάδων χρηστών ταυτόχρονα.

«Η δημιουργία ενός παιχνιδιού για πολλούς παίκτες είναι ένας πολύ καλός τρόπος για να δείξουμε πώς τέτοιες τεχνολογίες μπορούν να συνεργαστούν. Το BrowserQuest βασίζεται σε διακομιστές Node.js, καθένας από τους οποίους μπορεί να εκτελέσει πολλές παρουσίες του κόσμου του παιχνιδιού», λέει ο προγραμματιστής του στούντιο Guillaume Lecolnet.

23. JS1k

Το JS1k είναι ένας ετήσιος διαγωνισμός του οποίου η αποστολή είναι να δημιουργήσει μια σελίδα σε JavaScript για ένα δεδομένο θέμα (τις περισσότερες φορές κινούμενες εικόνες). Το βάρος του δεν πρέπει να υπερβαίνει το 1 KB.

Το φετινό θέμα είναι «Εδώ είναι δράκοι».

Το νικητήριο έργο του διαγωνισμού το 2012. Συγγραφέας - Philip Buchanan, θέμα - "Love"

Το έργο του νικητή του 2012 ζύγιζε αρχικά 8 KB - αλλά μέσα σε μια μέρα, ο Philip μπόρεσε να μειώσει το μέγεθός του στο απαιτούμενο 1 KB βελτιστοποιώντας τον αλγόριθμο δημιουργίας δέντρων:

Η τακτική μου ήταν να «εξαπατήσω ειλικρινά» τον μεταγλωττιστή. Για παράδειγμα, χρησιμοποιώντας την κατασκευή «a ? b: c" αντί για "if (a) b other c" αποθηκεύει 8 byte.

24. Χρονοδιάγραμμα

Η υπηρεσία βοηθά τους χρήστες να δημιουργούν χρονοδιαγράμματα και είναι πολύ εύκολη στη χρήση. Μπορείτε να συμπεριλάβετε tweets, βίντεο, φωτογραφίες και ήχο στο διαδραστικό σας χρονοδιάγραμμα. Μπορείτε να περιγράψετε το χρονολόγιό σας χρησιμοποιώντας JSON ή Έγγραφα Google - όποιο είναι πιο βολικό για τον πελάτη.

25. Σχεδιάστε ένα Stickman

Η κύρια ιδέα της υπηρεσίας είναι να παρέχει στον χρήστη την ευκαιρία να διασκεδάσει λιγάκι παίρνοντας μέρος σε μια διαδραστική ιστορία - βοηθώντας ένα τραβηγμένο ανθρωπάκι να ξεπεράσει διάφορα εμπόδια. Τα σκίτσα στον ιστότοπο γίνονται χρησιμοποιώντας το ποντίκι.

Το jQuery και η βιβλιοθήκη διανυσματικών γραφικών Raphal.js χρησιμοποιήθηκαν για τη δημιουργία του παιχνιδιού. Η υλοποίηση του έργου με το Raphal βοήθησε τους προγραμματιστές να αποφύγουν προβλήματα απόδοσης στις περισσότερες συσκευές και σε όλα τα προγράμματα περιήγησης.

Οι χρήστες που επισκέπτονται διάφορους πόρους Ιστού συναντούν συχνά ενδιαφέρουσες μη τυπικές λύσεις και θέλουν να κάνουν το ίδιο στους ιστότοπούς τους. Τις περισσότερες φορές, τέτοιες λύσεις περιλαμβάνουν τη χρήση JavaScript.

Σε αυτό το άρθρο, θα σας πω για την JavaScript, μια γλώσσα σεναρίου σχεδιασμένη για τη δημιουργία διαδραστικών ιστοσελίδων, και τι μπορείτε να κάνετε με το JS. Θα εξετάσουμε παραδείγματα χρήσης JavaScript και θα δούμε πώς μπορεί να μας βοηθήσει.

Τι μπορείτε να κάνετε χρησιμοποιώντας JavaScript;

Επεξεργαστείτε τη σελίδα, γράψτε κείμενο σε αυτήν, προσθέστε και αφαιρέστε ετικέτες, αλλάξτε στυλ στοιχείων.

Αντίδραση σε συμβάντα: το σενάριο μπορεί να περιμένει να συμβεί κάτι (κλικ/ανάρτηση του ποντικιού, ολοκλήρωση της φόρτωσης της σελίδας) και να απαντήσει εκτελώντας μια συνάρτηση.
Για παράδειγμα, όταν τοποθετείτε το ποντίκι σας πάνω από έναν σύνδεσμο ή μια εικόνα, μπορείτε να εμφανίσετε μια επεξήγηση εργαλείου. Κάνοντας κλικ με το ποντίκι, μπορείτε να αλλάξετε τα περιεχόμενα του μπλοκ. Όταν φορτωθεί η σελίδα, εμφανίστε ένα διαφημιστικό αναδυόμενο παράθυρο. Μπορείτε να αλλάξετε την εμφάνιση της σελίδας ανάλογα με την ώρα της ημέρας.

JavaScript. Γρήγορη εκκίνηση

Εκτελέστε αιτήματα στον διακομιστή και φορτώστε δεδομένα χωρίς να φορτώσετε ξανά τη σελίδα.
Για παράδειγμα, εάν ένας χρήστης άφησε ένα σχόλιο σε έναν ιστότοπο ή σε ένα βιβλίο επισκεπτών, τότε αυτό το σχόλιο θα εμφανιστεί αμέσως χωρίς να φορτωθεί ξανά η σελίδα. Μπορείτε επίσης να ανεβάσετε αρχεία στον διακομιστή, εμφανίζοντας την πρόοδο λήψης ως ποσοστό.

Ορίστε και διαβάστε cookies, επικυρώστε δεδομένα, εμφανίστε μηνύματα και πολλά άλλα.
Για παράδειγμα, όταν επισκέπτεστε έναν ιστότοπο για πρώτη φορά, εμφανίζεται ένα αναδυόμενο παράθυρο στον χρήστη και ορίζεται ένα cookie. Και σε επόμενες επισκέψεις σε αυτόν τον πόρο, το αναδυόμενο παράθυρο δεν εμφανίζεται επειδή τα cookies έχουν ήδη οριστεί.
Μπορείτε επίσης να ελέγξετε την ορθότητα του εισαγόμενου e-mail, να ελέγξετε τον αριθμό τηλεφώνου που καταχωρίσατε για συμμόρφωση με την απαιτούμενη μορφή και να εμφανίσετε αμέσως ένα μήνυμα σχετικά με την ορθότητα ή την ανακρίβεια των δεδομένων που έχετε εισαγάγει.

Παραδείγματα χρήσης JavaScript

Η χρήση της JavaScript είναι τόσο ευρεία και ποικίλη που μπορούν να δοθούν χιλιάδες παραδείγματα χρήσης και η λίστα δεν θα είναι πλήρης, επειδή νέα σενάρια γράφονται κάθε μέρα. Είμαι βέβαιος ότι έχετε συναντήσει πολλά από τα παρακάτω παραδείγματα σε διάφορους ιστότοπους. Και όλα αυτά υλοποιούνται χρησιμοποιώντας JavaScript.

Φυσικά, η γκαλερί που παρουσιάζεται στο παράδειγμα δεν είναι η μόνη. Υπήρχαν εκατοντάδες παρόμοιες γκαλερί, όπως όλα τα άλλα, που μπορούσε κανείς να φανταστεί. Και για να μην διογκωθεί η λίστα στο άπειρο, έδωσα ένα παράδειγμα από τις πιο δημοφιλείς ομάδες σεναρίων.

Τι μας δίνει αυτό;

1. Βολική πλοήγηση πολλαπλών επιπέδων

Η χρήση JavaScript σάς επιτρέπει να κάνετε συμπαγή μενού πολλών επιπέδων και πλοήγηση πολλαπλών επιπέδων στις πλευρικές γραμμές. Τα υποστοιχεία μενού ανοίγουν είτε κάνοντας κλικ είτε τοποθετώντας το ποντίκι.

Πολλά ηλεκτρονικά καταστήματα διαθέτουν αναπτυσσόμενη πλοήγηση πλαϊνής γραμμής. Ας πάρουμε το shop.by ως παράδειγμα. Φανταστείτε πόσο θα τεντωνόταν εάν τα δευτερεύοντα στοιχεία δεν έπεφταν έξω με το δείκτη του ποντικιού ή το κλικ, αλλά ήταν ορατά ταυτόχρονα!

2. Η χρήση γκαλερί και ρυθμιστικών μάς δίνει την ευκαιρία να δείξουμε φωτογραφίες, εικόνες πρόσθετων τύπων προϊόντων και να τακτοποιήσουμε άνετα και συμπαγή το χαρτοφυλάκιο του φωτογράφου.

JavaScript. Γρήγορη εκκίνηση

Μάθετε τα βασικά της JavaScript με ένα πρακτικό παράδειγμα για το πώς να δημιουργήσετε μια εφαρμογή Ιστού

Οι γκαλερί είναι ιδιαίτερα σημαντικές για τη λεπτομερή προβολή προϊόντων σε ηλεκτρονικά καταστήματα, όταν χρειάζεται να δείξετε διαφορετικούς τύπους προϊόντων. Με τη βοήθειά τους, μπορούμε να δείξουμε στον χρήστη όλες τις εικόνες σε ένα μικρό μπλοκ ταυτόχρονα, παρέχοντας τόσο μικρές όσο και μεγεθυσμένες εικόνες για προβολή.

Πόσος χώρος θα χρειαζόταν για τη συλλογή που φαίνεται στην παρακάτω εικόνα;

3. Τον τελευταίο καιρό, πολλά widgets εμφανίζονται στις πλαϊνές στήλες των ιστοσελίδων. Αυτά είναι γραφικά στοιχεία για δημοφιλή κοινωνικά δίκτυα, κατηγορίες, αρχεία αναρτήσεων, ημερολόγια, τελευταία σχόλια ιστολογίου, δημοφιλείς αναρτήσεις και πολλά άλλα.

Θα πρέπει να σημειωθεί ότι σε πολλούς ιστότοπους, ορισμένα widget μπορούν απλά να διαγραφούν, επειδή δεν έχουν νόημα και καταλαμβάνουν χώρο.

Αλλά τι γίνεται αν εξακολουθείτε να χρειάζεται να τοποθετήσετε συμπαγή πολλά widget;

Αυτό είναι όπου μια λύση JavaScript με "tabs" έρχεται στη διάσωση.

Με τη βοήθειά τους, μπορείτε να χωρέσετε καλά όλα τα γραφικά στοιχεία στις πλαϊνές στήλες του ιστότοπου. Για καλύτερη αντίληψη, μπορείτε να ομαδοποιήσετε τα γραφικά στοιχεία σε "καρτέλες".

Για παράδειγμα, μπορείτε να τοποθετήσετε γραφικά στοιχεία κοινωνικών δικτύων σε μία «καρτέλα», κατηγορίες και αρχεία στη δεύτερη, κ.λπ. Αυτό θα εξοικονομήσει χώρο και θα κάνει τον ιστότοπο πιο βολικό στη χρήση.

4. Χρησιμοποιώντας JavaScript, μπορείτε επίσης να βελτιώσετε σημαντικά τη σελίδα επικοινωνίας για τον ιστότοπό σας ή τους ιστότοπους των πελατών σας.

ενσωματώστε συμβουλές εργαλείων σε πεδία φόρμας.

έλεγχος δεδομένων που έχουν εισαχθεί στα πεδία φόρμας και εμφάνιση μηνυμάτων σφάλματος.

υποβάλετε δεδομένα φόρμας χωρίς να φορτώσετε ξανά τη σελίδα.

τοποθετήστε έναν χάρτη με τη διαδρομή.

5. Για όσους τοποθετούν δεδομένα σε πίνακα στον ιστότοπο, θα είναι πολύ χρήσιμο να χρησιμοποιήσουν την ταξινόμηση δεδομένων στον πίνακα.

6. Όσοι δημοσιεύουν οποιαδήποτε στατιστικά στοιχεία στον ιστότοπο με τη μορφή γραφημάτων και γραφημάτων θα βρουν πολύ χρήσιμη τη δυνατότητα δημιουργίας διαδραστικών γραφημάτων και γραφημάτων σε JavaScript.

Επίσης, χρησιμοποιώντας JavaScript, μπορείτε να δημιουργήσετε όλα τα είδη των εφέ στον ιστότοπο - όπως η ομαλή ολίσθηση στοιχείων, η κίνησή τους, η σταδιακή εμφάνιση και εξαφάνισή τους και όλα όσα μπορεί να κάνει η φαντασία σας.

Όλα αυτά μπορούν να κάνουν τον ιστότοπο πιο βολικό για τους επισκέπτες, πιο διαδραστικό και πιο προηγμένο τεχνολογικά.

συμπέρασμα

Όπως μπορείτε να δείτε, το εύρος της JavaScript είναι πολύ ευρύ. Αυτά περιλαμβάνουν γκαλερί, ρυθμιστικά, καρτέλες, όλα τα είδη διαδραστικών στοιχείων, χάρτες, γραφήματα, εργασία με φόρμες και πολλά, πολλά άλλα.

Νομίζω ότι ο καθένας μπορεί να βρει χρήσιμες χρήσεις για το JavaScript και να το χρησιμοποιήσει στους δικούς του ιστότοπους ή στις τοποθεσίες των πελατών του.

Ελπίζω να σας άρεσε το άρθρο και να μάθατε από αυτό για νέες δυνατότητες που μπορούν να εφαρμοστούν χάρη στο JS.

Χρησιμοποιείτε JavaScript στους ιστότοπούς σας; Ποιες είναι οι κύριες προκλήσεις σας όταν χρησιμοποιείτε JavaScript;

Πείτε μας για αυτό στα σχόλια του άρθρου.

JavaScript. Γρήγορη εκκίνηση

Μάθετε τα βασικά της JavaScript με ένα πρακτικό παράδειγμα για το πώς να δημιουργήσετε μια εφαρμογή Ιστού

Τώρα που συζητήσαμε προσεγγίσεις για την εκμάθηση HTML και CSS, ήρθε η ώρα να στρέψουμε την προσοχή μας στο JavaScript, την τρίτη βασική δεξιότητα ενός σχεδιαστή ιστοσελίδων. Η JavaScript είναι μια γλώσσα σεναρίου. Αυτό σημαίνει ότι η σύνταξή του είναι κάπως πιο περίπλοκη από αυτή του HTML και του CSS. Και για να μπορέσετε να γράψετε κώδικα JavaScript άπταιστα, υπάρχουν πολλά περισσότερα που θα πρέπει να μάθετε. Το θέμα μου ήταν ότι οι περισσότεροι άνθρωποι χρειάζονται λίγο περισσότερο χρόνο για να μάθουν JavaScript από ό,τι για να μάθουν HTML και CSS. Υπάρχουν πολλές απόψεις σχετικά με το ποια είναι η καλύτερη προσέγγιση για την εκμάθηση JavaScript και δεν συμπίπτουν όλες αυτές οι απόψεις με τις δικές μου.

Ωστόσο, είμαι στην πραγματικότητα κατά της χρήσης μιας συγκεκριμένης μεθόδου κατά την εκμάθηση JavaScript. Η εκμάθησή μου στο JavaScript πήγαινε στραβά. Ουσιαστικά, συγκέντρωνα μόνο κομμάτια πληροφοριών για τη γλώσσα είτε από σεμινάρια είτε από αποσπάσματα κώδικα, τα οποία άφησαν μεγάλα κενά στις γνώσεις μου στο JavaScript που έπρεπε αργότερα να συμπληρώσω. Επομένως, σας συνιστώ να ακολουθήσετε μια ελαφρώς μεγαλύτερη διαδρομή, η οποία ελπίζω να σας οδηγήσει σε καλύτερο αποτέλεσμα. Πρώτα, πρέπει να καταλάβετε τι ακριβώς κάνει η JavaScript. Η JavaScript είναι μια γλώσσα προγραμματισμού από την πλευρά του πελάτη. Η φράση "από την πλευρά του πελάτη" σημαίνει ότι ο κώδικας εκτελείται στο πρόγραμμα περιήγησης και όχι στον διακομιστή.

Αυτή η γλώσσα δημιουργήθηκε για να λειτουργεί με HTML και CSS, επομένως έχει πολλές ενσωματωμένες λειτουργίες που διευκολύνουν τον έλεγχο της συμπεριφοράς των τοποθεσιών. Η JavaScript συμπληρώνει τη στατική φύση της HTML επιτρέποντάς σας να δημιουργείτε διαδραστικά στοιχεία, να εμφανίζετε στοιχεία βάσει συγκεκριμένων συνθηκών, να ζωντανεύετε στοιχεία ή να εκτελείτε οποιονδήποτε αριθμό εργασιών δέσμης ενεργειών. Είναι σημαντικό να μάθετε για ποιες εργασίες ενδείκνυται η JavaScript, γιατί αυτό θα σας βοηθήσει να κατανοήσετε σε ποιες καταστάσεις πρέπει να τη χρησιμοποιείτε και τι να αναζητάτε κατά την εκμάθηση της JavaScript.

Όπως ανέφερα ήδη, προσπαθήστε να μην μάθετε JavaScript από αποσπάσματα κώδικα. Οι περισσότεροι άνθρωποι χρησιμοποιούν αυτήν την προσέγγιση, συμπεριλαμβανομένου και εμένα. Με αυτήν την προσέγγιση, βρίσκετε ένα κομμάτι κώδικα που κάνει τη δουλειά που χρειάζεστε, το εισάγετε σε ένα από τα έργα σας, το επεξεργάζεστε και το εκτελείτε. Όπως γνωρίζετε, αυτή η προσέγγιση θα σας επιτρέψει να κατακτήσετε ορισμένες δεξιότητες JavaScript με την πάροδο του χρόνου, αλλά το πιο σημαντικό είναι ότι σε αυτήν την περίπτωση χάνετε τον λόγο για τον οποίο πρέπει να χρησιμοποιείται αυτή η συγκεκριμένη γλώσσα. Ως αποτέλεσμα, δεν θα κατανοήσετε πλήρως αυτήν τη γλώσσα προγραμματισμού.

Επιπλέον, προτείνω να μάθετε πρώτα τα βασικά της JavaScript πριν προχωρήσετε σε βιβλιοθήκες όπως το jQuery. Η χρήση του jQuery είναι αρκετά δελεαστική ιδέα γιατί είναι ένα ισχυρό εργαλείο και πολλοί άνθρωποι το χρησιμοποιούν. Θα βρείτε αμέσως εκατοντάδες σεμινάρια για το πώς να χρησιμοποιήσετε το jQuery για τον ιστότοπό σας. Αλλά αν αρχίσετε να μαθαίνετε jQuery πριν μάθετε JavaScript, θα είναι μεγάλο λάθος. Όπως μπορείτε να φανταστείτε, η χρήση της βιβλιοθήκης jQuery δεν είναι πάντα η σωστή λύση. Και αν ξέρετε μόνο πώς να χρησιμοποιείτε αυτήν ή εκείνη τη βιβλιοθήκη, δεν θα μπορείτε να καταλάβετε πότε να χρησιμοποιήσετε JavaScript και πότε όχι.

Αυτή η προσέγγιση σημαίνει ότι θα πρέπει, τουλάχιστον, να μάθετε τα βασικά της JavaScript με δομημένο και εστιασμένο τρόπο μέσω, για παράδειγμα, ενός συγκεκριμένου μαθήματος ή βιβλίου. Ενώ πολλά σεμινάρια σάς διδάσκουν πώς να εκτελείτε πολύ συγκεκριμένες εργασίες χρησιμοποιώντας JavaScript, πρέπει πραγματικά να έχετε μια σταθερή κατανόηση των εννοιών και της σύνταξής του για να κατανοήσετε τι κρύβεται πίσω από αυτό που κάνετε. Φυσικά, δεν χρειάζεται να είναι όλοι οι σχεδιαστές ιστοσελίδων ειδικοί στη JavaScript. Όσοι σχεδιαστές, για παράδειγμα, θέλουν να κάνουν ανάπτυξη frontend, πρέπει να γνωρίζουν άπταιστα JavaScript.

Και για όσους ενδιαφέρονται περισσότερο για το UX design ή το visual design, αρκεί μόνο να γνωρίζουν τα βασικά. Ανεξάρτητα από το πόσο βαθιές μπορεί να είναι οι γνώσεις σας στη JavaScript, πρέπει να κατακτήσετε τις πιο σημαντικές έννοιες για να κατανοήσετε πλήρως τη γλώσσα. Το κυριότερο είναι να έχεις υπομονή. Το JavaScript χρειάζεται πολύ χρόνο για να μάθει και αν σταματήσετε να το μαθαίνετε πολύ γρήγορα, δεν θα μπορείτε να θυμάστε τι μάθατε εάν το χρειάζεστε για ένα έργο. Σας συνιστώ ανεπιφύλακτα να ξεκινήσετε με το JavaScript Essential Training του Simon Allardyce, το οποίο μπορείτε να βρείτε στην ηλεκτρονική βιβλιοθήκη εκπαίδευσης στη διεύθυνση lynda.com.

Εξετάζει το JavaScript από τη σκοπιά του αρχαρίου και πραγματικά καλύπτει τα βασικά του JavaScript με πολύ απλό τρόπο. Επίσης, προτείνω... συγχωρέστε με αν προφέρω λάθος... το βιβλίο της Marijn Haverbeke. Παρεμπιπτόντως, αυτός είναι ένας υπέροχος τύπος. Τέλος πάντων, σας προτείνω να διαβάσετε το βιβλίο του «Eloquent JavaScript», που ονομάζεται και «Modern Introduction to Programming». Αυτό το βιβλίο είναι πραγματικά γραμμένο σε μια γλώσσα που είναι προσβάσιμη σε αρχάριους. Πολλά βιβλία έχουν γραφτεί σε JavaScript, αλλά αυτό το βιβλίο γράφτηκε από έναν προγραμματιστή και για προγραμματιστές. Το βιβλίο «Eloquent JavaScript» γράφτηκε με τέτοιο τρόπο ώστε να αποτελεί ένα είδος εισαγωγής στη γλώσσα για αρχάριους.

Το πιο εκπληκτικό είναι ότι μπορείτε να αγοράσετε την έντυπη έκδοση του βιβλίου, αλλά... Ας κάνουμε κλικ σε αυτόν τον σύνδεσμο... Υπάρχει επίσης μια ηλεκτρονική έκδοση αυτού του βιβλίου. Καλύπτει όλα όσα πρέπει να γνωρίζετε για τη JavaScript και παρέχει ορισμένα παραδείγματα εργασίας με τα οποία μπορείτε να πειραματιστείτε για να κατανοήσετε πώς λειτουργεί όλο αυτό. Αυτό είναι πραγματικά ένα πολύ ωραίο μικρό site. Όπως συμβαίνει με το HTML και το CSS, το docs.webplatform.org διαθέτει μια ενότητα αφιερωμένη στην JavaScript. Θα το βρείτε πολύ χρήσιμο καθώς έχει μερικά σεμινάρια, συζητώντας λειτουργίες, αντικείμενα, συμβάντα - όλα εκείνα τα βασικά πράγματα που πρέπει να γνωρίζετε όταν μαθαίνετε JavaScript.

Δεν μπορώ να υποτιμήσω τη σημασία του stackoverflow.com. Εάν δεν το έχετε ξανασυναντήσει, αξίζει να σημειωθεί ότι αυτός ο ιστότοπος σάς επιτρέπει να δημιουργήσετε έναν λογαριασμό και στη συνέχεια να δημοσιεύετε ερωτήσεις σε μέλη αυτού του ιστότοπου σχετικά με πράγματα που σας προκαλούν σύγχυση όταν εργάζεστε στα δικά σας έργα ή να κάνετε ερωτήσεις σχετικά με αυτές τις έννοιες που δύσκολο να το καταλάβεις. Οι άνθρωποι συχνά δίνουν πολλές διαφορετικές συμβουλές, με τις καλές απαντήσεις να παίρνουν επιπλέον ψήφους και τις κακές συμβουλές να αφαιρούν ψήφους. Επομένως, μετά από κάποιο χρονικό διάστημα, χάρη στα σχόλια των μελών της κοινότητας, θα μπορείτε να καταλάβετε ποια απάντηση είναι η καλύτερη. Μπορείτε όχι μόνο να δημοσιεύσετε ερωτήσεις, αλλά και να τις αναζητήσετε στον ιστότοπο. Οι πιθανότητες είναι ότι κάποιος έχει ήδη κάνει την ερώτηση που σας ενδιαφέρει. Γι' αυτό το stackoverflow.com είναι ένας πραγματικά χρήσιμος πόρος. Όπως συμβαίνει με τα HTML και CSS, ο ιστότοπος του έργου δικτύου προγραμματιστών Mozilla διαθέτει επίσης μια ενότητα αφιερωμένη στην JavaScript. Περιέχει πολλές διαφορετικές πληροφορίες. Επιπλέον, στη δεξιά πλευρά του ιστότοπου υπάρχει μια ενότητα που παραθέτει εκείνους τους πόρους όπου μπορείτε να λάβετε πιο λεπτομερείς πληροφορίες για ένα συγκεκριμένο θέμα. Ορισμένες από αυτές τις πληροφορίες είναι εντελώς τεχνικές. Αλλά βασικά, οποιοσδήποτε νέος στη JavaScript μπορεί να επωφεληθεί από τις περισσότερες από αυτές τις πληροφορίες στα αρχικά στάδια της εκμάθησης αυτής της γλώσσας προγραμματισμού. Εάν, αφού καταλάβετε τα βασικά της JavaScript, έχετε την επιθυμία να μελετήσετε αυτή τη γλώσσα με περισσότερες λεπτομέρειες, τότε μπορείτε να χρησιμοποιήσετε ένα άλλο, πολύ χρήσιμο, κατά τη γνώμη μου, βιβλίο - "Επαγγελματική JavaScript για προγραμματιστές Ιστού", με συγγραφέα τον Νικόλαο Ζάκα.

Δεν θα σας πω ψέματα και θα πω ότι καταλαβαίνω τα πάντα σε αυτό το βιβλίο, αλλά το χρησιμοποιώ ως αναφορά γιατί αφού μάθετε τα βασικά της JavaScript, μπορεί να υπάρξουν στιγμές που κάπως κολλήσετε και δεν ξέρετε τι να κάνουμε το επόμενο. Αυτό το υπέροχο βιβλίο σας βοηθά να κατανοήσετε καλύτερα τη σύνταξη JavaScript, να μάθετε πώς να γράφετε πιο αποτελεσματικό κώδικα και να εφαρμόζετε όχι μόνο βασικές έννοιες JavaScript αλλά και πιο προηγμένες λειτουργίες. Φυσικά, αν επιστρέψετε στο lynda.com, μπορείτε να βρείτε μια ολόκληρη ενότητα σπουδαίων μαθημάτων JavaScript, συμπεριλαμβανομένου του μαθήματος του Simon. Επομένως, αναλύστε προσεκτικά ποια μαθήματα υπάρχουν στη βιβλιοθήκη μας.

Η JavaScript είναι μια από αυτές τις γλώσσες που μπορεί να γίνει κατανοητή μόνο με την εφαρμογή της στην πράξη. Επομένως, η προσέγγιση που επιλέγετε να τη μελετήσετε θα πρέπει να περιλαμβάνει πολλά πρακτικά παραδείγματα.

yFBL, CHEV-UFTBOYGB CYCHEF. ChCH OBTYUPCHBMY LBTFYOLY, RPDZPFPCHYMY FELUF, UDEMBMY CHUЈ, YuFP IPFEMPUSH, J ЪБУЛХУБМY. rPYENH; dB IPFS VSHCH RPFPNKH, YuFP CHSHCHUFTBDBOOBS CHBNY UFTBOYULB OYLBL OE PFLMYLBEFUS ΣΧΕΤΙΚΑ ΜΕ ΤΟ DEKUFCHYS CHMBDEMSHGB, TsBDOP YBTSEEZP RP OEK LHTUPTPN. fSHZHKH, RPYUFY OERTYMYYUOP RPMKHYUMPUSH fen OE NEOEE, VKhDEN MEYUYFSH.

dP FPZP, LBL OBYUBFSH TBUULB P CHUSLYI FEIOYUUEULYI ZPLKHUBI ΣΧΕΤΙΚΑ ΜΕ ΤΟ RPFEEH RPUEFYFEMSN Y UEVE, MAVYNSCHN, OBDP RTEDUFBCHYFSH, YuFP ChPPVEE NSCH UPVBT.

sхchl HTML UFBFYUEO. DMS FPZP, YUFPVSH OBKHYUYFSH UFTBOYGH "TSYFSH", PFLMYLBFSHUS ΣΧΕΤΙΚΑ ΜΕ ΤΗΝ DEKUFCHYS RPMSHЪPCHBFEMS, OHTsOP OBKFY URPUPV ybrtpztbnnytpchbfsh YRPYEDOEPY. xNOSHCHE MADI OE YuEFB OBN U CHBNY TEYBAF bfh RTPVMENKH, CHUFBCHMSS CH ZYRETFELUF LHULY RTPZTBNNOPZP LPDB, LPFPTSCHE OBSCHCHBAF ultyrfbny. chPPVEE ZPCHPTS, ULTYRF RTPUFP NBMEOSHLBS RTPZTBNNNLB, UTBVBFSHCHBAEBS FPZDB, LPZDB EK ULBTsKHF, Y OBRYUBOB POB NPTsEF VSHFSH ΣΧΕΤΙΚΑ ΜΕ OPCHPPMYFSHPYCH ΥΣΛΠΧ. nShch U CHBNY VHDEN ZPCHPTYFSH FPMSHLP PV PDOPN YI OI JavaScript. uYOFBLUYU JavaScript CHSF YY VPMSHYPZP Y UETSHЈЪOPZP SJSCHLB Java, ΣΧΕΤΙΚΑ ΜΕ ΤΟ LPFPTPN RTPZTBNNYTHAF UFTBIOSCH VPTPDBFSHCHE DSDI DECHEMPRETSH, RPMHYUBS

OBUYE U ChBNY DEMP NBMEOSHLPE, OBN OBDP RTPUFP OBKHYUIFSHUS RYIBFSH FY UBNSHCH ULTYRFSH LHDB RPRBMP, YUFPVSH CHUЈ NYZBMP, LTHFYMPUSH, DETZBMPUSH RYIBFCH ТХЪLE. th FPZDB LPZP-OYVKhDSH RMPIPZP PF OBYEK UFTBOYGSCH FPYuOP ICHBFYF LPODTBFYK, B OBYUIF, NSCH U CHBNY IPTPYE. β EUMY LPODTBFYK ICHBFYF LPZP-OYVHDSH IPTPYEZP; ΕΥΧΥΛΑ! yFYNY ЪБББББУБНЯ ЪBOYNBAFUS UREGYBMYUFSH RP NBTLEFYOZH Y TELMNE, SING OBAF, YuFP FBLPE GEMECHBS ZTHRRB, Y PFZPOSF CHUEI IPTPYYI PFBOBETYPYP. ω, YuFP-FP S PRSFSH ЪBRKhFBMUS: DMS LPZP Ts NSCH FPZDB CHPPVEE FTHDYNUS;

UOPChB LPOFEKOETSH…

yuFPVSH CHUFBCHYFSH LHUPL LPDB ΣΧΕΤΙΚΑ ΜΕ SISH JavaScript CH FEMP HTML -UFTBOYGSHCH, OBN U CHBNY PRSFSH RPOBDPVYFUS LPOFEKOET. hPF FBLPK:

edYOUFHEOOSCHK RBTBNEFT, LPFPTSCHK DEKUFCHYFEMSHOP UFPYF YURPMSHЪPCHBFSH, γλώσσα OBSCHCHBEFUS . ΑΠΟ ΤΟΝ PRTEDEMSEF, ΣΧΕΤΙΚΑ ΜΕ ΤΟ LBLPN SJSHLE OBRYUBOP CHUЈ FP, το YuFP OBIPDIFUS CHOKHFTY LPOFEKOETB. DCHE DPRPMOYFEMSHOSHE UFTPYULY CHOKHFTY ZPCHPTSF UFBTPNH VTBHJETKH, LPFPTSCHK OILBLYI ULTYRFPCH OE RPOINBEF, YuFP CHUЈ, OBIPDSEEUS NETSDH LPNNEKPFPFDTY CH RPLPE Y OYUEZP U OYN OYE DEMBFSH. fBLYN PVTBBPN, EUMY LFP-FP PFLTPEF UFTBOYGH U RPNPESHA bFPZP UBNPZP UFBTPZP VTBKHETB, BY RPMKHYUF FPMSHLP YUYUFSHCHK HTML -LPDULTYRFSHOPSHHDUE eUMY OBLY LPNNEOFBTYS PFUHFUFCHHAF, B CHOKHFTY ULTYRFB OBIPDFYFUS OBIPDFYFUS OFP-FP FBLPE, YuEZP VTBKHET OE RPOINBEF, RPUEFYFEMSH RPMKHUYF UPPVEEOYE PVYFYCHPYPYPYPY. pOP OBN U CHBNY OBDP;

FERETSH P FPN, ZDE UFPYF RPNEEBFSH ULTYRFSHCH. h RTYOGYRE, SING NPZHF OBIPDIFSHUS ZDE HZPDOP, OP MHYUYE RPNEEBFSH JavaScript -LPD CH LPOFEKOETE HEAD . eUMY TBNEUFYFSH LPD CH TBDEME..., BY PVSBFEMSHOP YURPMOYFUS CH FPF NNEOF, LPZDB VTBKHET DPKDEF DP OEZP RP NETE ЪБЗТХЪЛй UFTBOYGSCH. h OELPFPTSCHI UMKHYUBSI LFP FPTSE OEPVIPDYNP, OP IPTPYN FPOPN SCHMSEFUS PZHPTNMEOYE ULTYRFPCH CHYDE zholgyk, LPFPTSCHE NPTsOP RTY OEPVIPDYNPUFY CH OE VHDHF CHSHCHRPMOSFSHUS DP FAIRIES RPT, RPLB NSCH U CHBNY bFPZP OE ЪBIPFYN.

Ανατροπή

rPUFBOPCHLB ЪBDБУИ OPNET PDYO.

ΠΕΡΙ UFTBOYE EUFSH LOPRLB, CHSHRPMOEOOBS CH CHYDE JPVTBTSEOYS CH ZHTNBFE GIF . OHTSOP, YuFPVSH POB LBLYN-FP PVTBBPN NEOSMBUSH RTY OBCHEDEOYY ΣΧΕΤΙΚΑ ΜΕ OOJ LHTUPTB.

ьФПФ ьжжЭЛФ RP-BOZMYKULY OBSCHCHBEFUS roll-over Y CH TEKFYOZE RPRKHMSTOPUFY ІжжЭЛФПЧ ЪBOYNBEF, OBCHETOPE, RETCHPE NEUFP. yFBL, RTYUFHRYN.

TEBMYBGYS

rTETSDE CHUEZP OBN RPOBDPVSFUS dche LOPRLY: YUIPDOSCHK CHBTYBOF RMAU FPF, LPFPTSCHK DPMTSEO RPDUFBCHMSFSHUS CHNEUFP OEZP RTY DCHYTSEOY LHTUPTLY.PRETCHYLO pVE LBTFYOLY DPMTSOSCH YNEFSH PDYO Y FPF TSE TBNET. UNSCHUM CHUEI DBMSHOEKYI NBOIRKHMSGYK UPUFPYF CH FPN, YUFPVSH ЪBNEOYFSH PDOP YЪPVTBTSEOYE DTHZYN, B RPFPN CHETOHFSH YUIPDOPE ΣΧΕΤΙΚΑ ΜΕ NEUF.

CHUFBCHMSEN RETCHHA LOPRLH CH HTML . lPD VHDEF CHZMSDEFSH RTYNETOP FBL:

FEZ IMG YURPMSH'HEFUS DMS TBNEEEOYS ZTBZHYLY ΣΧΕΤΙΚΑ ΜΕ ΤΟ HTML-UFTBOYG. RBTBNEFTSH NAME, SRC, Πλάτος х ύψος ъbdbaf uppchefufcheoop yns chuftpeooopzp h html pvyelfb dms dbmshoekyi uuschmpl για το oezp, yns ztbzhyuueulpz zhbkmb, yyyokh y chchupfh lbtfylyihhbkmb, yyyokh yns ztbzhyuueulpz zhbkmb.

FERETSH TBNEUFYN CH TBDEME HEAD UMEDHAEIK VMPL:

FERETSH DPVBCHYN EEЈ DCHB RBTBNEFTB CH FEZ IMG :

Onmouseover="ImgOn();" onmouseout="ImgOff();"

OBRPNOA, YuFP SJSCHL JavaScript YUKHCHUFCHYFEMEO L TEZYUFTH, RPFPNH, EUMY CHCHCH PDOPN NEUFE OBRYYEFE imgon , B CH DTHZPN ImgOn , LFY PRYUBOYFYPYHPHPE ΥΣ.

PUFBMPUSH UDEMBFS RPUMEDOEEE: DPVBCHYFSH PDYO RBTBNEFT CH FEZ BODY :

Onload="ImgPreload();"

στο LPDPN RPLPOYUEOP. με OBNETEOOP OE DBA DEFBMSHOSHI YOUFTHHLGYK: TBHNEEFUS, Y UPPVTBTSEOYK MYZLPZP UBDIYNB. OP P FPN, LBL LFP CHUЈ TBVPFBEF, TBUULBTSH RPDTPVOP.

pVIASOOEOYS

h ЪБЗПМПЧЛЭ УФТБОВИГШ B YNEOOП CH UELGYY HEAD NSCH UPЪDBMY ULTYRF, CHLMAYUBAYK CH UEVS FTY ZHKHOLGYY: ImgPreload , ImgOn И ImgOff. Λειτουργία lMAYUECHPE UMPChP CH VPMSHYOUFCHE SSHCHLPCH PRTEDEMSEF LHUPL LPDB, LPFPTSCHK NPTsEF VSHFSH NOPZPLTBFOP CHCHBO YI TBMYUOSHI NEUF RTPZTBNNNSCH. pWAKE UMKHYUBK UYOFBLUIUB CHSHZMSDYF FBL:

Συνάρτηση func_name(par1,par2,par3) ( ... )

TBUYYZHTPCHCHBEFUS CHUЈ LFP UMEDKHAEIN PVTBPBN: ZHOLGYS U YNEOEN func_name, CH LPFPTHA RETEDBAFUS RBTBNEFTSCH U YNEOBNY par1, par2 Y par3, LPPTSCHI, CHPPTSFSHE Y.P.CH. Zhyzkhtosh ulpvly pvtbnmsaf fh yubufsh, lpfptbs, upvufchooop, y vkhdef chspmosfshus, eumy nsch ufkh zholgya chchpchen, f. e. upymenus για το oeј yneoy ylblpk-fp dt hzpkufkufbdb.

ъБУЭН ОХЦОШЧ РБТБНЭТШЧ, FEN VPMEE, YUFP CH FEI FTЈI ZHKHOLGYSI, LPFPTSHCHE NSCH YURPMSHKHEN CH OBYEK ЪBDBUE, ИИ ОЭФ? β CHPF ЪBUYEN. rTEDUFBCHSHFE UEVE, YuFP ABOUT UFTBOYUL EUFSH oeulpmshlp LOPRPL, DMS LBCDPC YJ LPFPTSCHI NSCH IFYN UDEMBFSH UCHPK UPVUFCHEOOSCHK ανατροπή . YuFP TSE, RYUBFSH PFDEMSHOKHA ZHKHOLGYA ΣΧΕΤΙΚΑ ΜΕ ΤΗΝ LBTSDHA LOPRLH; β EUMY YI DEUSFPL; ZMHRPUFY LBLYE.

NSH OBRYYEN edyoufcheookha ZHOLGYA DMS LBTSDPK PRETBGYY, Y U RPNPESH RBTBNEFTPCH RETEDBDYN EK ins FPK LBTFYOLY, OBD LPFPTPK CH DBOOSCHK NPNEOF RTPPIPTFPU, PMTSOB KHUBUFCHPCHBFSH CH UPЪDBOY OKHTsOPZP OBN LZHZHELFB. hPF Y CHUЈ.

CHETONUS L OBUYENH LPDH.

ZHOLGYS ImgΠροφόρτωση UMHTSYF DMS RTEDCHBTYFEMSHOPK ЪBZТХЪLY Ch RBNSFSH LPNRSHAFETB FPZP YЪPVTBTSEOYS, LPFPTPPE DPMTSOP VShchFSH RPDUFBCHMEOPFPPPUPDU. pOB ЪBRHULBEFUS FPZDB, LPZDB CHUS UFTBOYGB ЪBZTHYMBUSH: ЪBRYUSH onload="ImgPreload();" CH FEZE BODY POBYUBEF, YUFP RP UPVSHCHFYA onload (PLPOYUBOYA ЪBZTHYLY PFPVTBTSBENPK YUBUFY UFTBOYGSCH VTBKHETPN) VHDEF CHSHPRPMOEOB ZHOLGPreloads Im.

ъБУЭН ОКХСОБ ьФБ ЖХОПЛГИС? DEMP CH FPN, YUFP ЪБЗТХЪЛБ ЛБЦДПЗП ЪПВТБЦОПЗП YЪПВТБЦОСИ У UETCHETB FTEVHEF CHTENEOY, PUPVEOOP RTY OE PUEOSH IPTPYEK UCHSY. eUMY NSCH VKhDEN FBEIFSH CHFPTHA LBTFYOLKH U UETCHETB, FP LHTUPT HKDEF U LOPRLY TBOSHYE, YUEN NSCH KHCHYDYN LBLPK-FP LZHZHELF, F. L. ZTBZHYBKULYMLYNSHE PUFP OE KHUREEF ЪБЗТХЪИФШУС. dTHZPE DEMP, LPZDB FTEVKHENBS LBTFYOLB HCE OBIPDIFUS CH RBNSFY: ЪБЗТХЛБ RTPYЪPKDF NZOPCHEOOP.

FERETSH P UBNPK ZHKHOLGYY. ъBRYUSH pic2=new Image(); UPЪDBЈF OPCHSHCHK PVYAELF FYRB Εικόνα, ΣΧΕΤΙΚΑ ΜΕ ΤΟ LPFPTSCHK U LFPPZP NNEOFB NSCH NPTSE UUSCHMBFSHUS, B UMEDHAEBS UFTPULB pic2.src=button1b.gif; ZPCHPTYF P FPN, LBLPK ZTBZHYUEULYK ZHBKM UPPFCHEFUFCHHEF LFPNH PVYAELFH. FERETSH, ЪBRТPUYCH YJ MAVPZP NEUFB LPDB OBYUEOYE pic2.src , NSCH FHF CE RPMKHYUN button1b.gif , YuFP OBN Y FTEVHEFUS.

pVTBFYFE CHOYNBOYE ΠΕΡΙ FP, LBLYE RBTBNEFTSH NSCH DPVBCHYMY CH FEZ IMG . ъБРИУШ onmouseover="ImgOn();" POBYUBEF, YuFP RP UPVSHFYA onmouseover (LHTUPT CHYAEIBM ABOUT LBTFYOLH) DPMTSOSCH VSHCHFSH CHSHCHBOB ZHOLGYS ImgOn, B ЪBRYUSH onmouseout="ImgOff;" POBYUBEF, YuFP LKHTUPT KHYOM U LOPRLY, Y FERETSH OHTSOP ЪBRKHUFYFSH ZHOLGYA ImgOff . lBL RPOSPHOP YOBOBCHBOYS, LFY DCHE ZHKHOLGYY PFCHEYUBAF ЪB RPDNEOH LBTFYOLY (ImgOn) Y CHPCHTBF EЈ CH YUIDDOPE UPUFPSOYE (ImgOff). FERETSH RPUNPFTYN, LBL FY ZHKHOLGYY TBVPFBAF.

h zhkholgyy imgon retchbs uftplb (temp = mybutton.src;) retedbјf retenooopk temp yns fpzp ztbjyueulpzp zhbkmb, lpfptshk uppfchefufchhef yuipdopnh upufsya loplya: ъ ъ e o e overpbofh. chFPTBS UFTPLB (mybutton.src=pic2.src; ) RETEDBЈF LOPRLE YNS CHFPTPZP ZHBKMB, LPFPTSCHK NSCH RPDUFBCHMSEN. lBL FPMSHLP LFP RTPYЪPYMP, CHNEUFP RETCHPOYUBMSHOPK LBTFYOLY ΣΧΕΤΙΚΑ ΜΕ ΤΗΝ NEUFE LOPRLY CHP'OYLBEF LBTFYOLB button1b.gif , Y OBYB ЪBDБУБ OBRPOBMPCHY. oBRPMPCHYOKH, RPFPNH YuFP OBN EEЈ RTEDUFPYF CHETOHFSH LOPRLH CH YUIPDOPE UPUFPSOYE RPUME FPZP, LBL LHTUPT NSHCHY KHVETIFUS CHPUCHPSUI.

eFYN Y BOYNBEFUS JHOLGYS ImgOff . еЈ EDYOUFCHEOOBS UFTPULB (mybutton.src=temp; ) CHPCHTBEBEF LOPRLE FPF ZHBKM, LPFPTSCHK UPPFCHEFUFCHCHBM EK CH UBNPN OBYUBME. WTF!

dMS RTYNETB RPUNPFTYFE, LBL PTZBOYPCHBOSH ανατροπές ΣΧΕΤΙΚΑ ΜΕ ΤΟ ZMBCHOPK (YMY MAVPK DTHZPK) UFTBOYGE NPEZP UBKFB. bFP FBLYE NBMEOSHLYE UYOYE FPYULY, CHP'OILBAEYE CHOKHFTY NBMEOSHLYI VEMSCHI LTHTSPYULPCH, LPZDB CHCHCHPYFE NSCHYLPK RP RHOLFBN NEOA. rTBCHDB, FBN CHUYE UDEMBOP YUHFSH-YUHFSH YOBYUE. ;-)

OpenWin

TBUUNPFTYN ЪBDБУХ OPNET DCHB.

FEIOYUUEULPE ЪBDBOIE

yFBL, OBN OHTsOP, SFPVSH

RTY EEMULE NSHCHYSHA ΣΧΕΤΙΚΑ ΜΕ ΤΟ USCHMLE PFLTSCHCHBMPUSH DPRPMOYFEMSHOP PLOP VTBKHETB, UCHPKUFCHB LPFPTPZP NPTsOP VSHMP VSC PRTEDEMYFSH UBTBOEEE. oERMPIP, EUMY LFP PLOP NPTsOP VKhDEF ЪBLTSCHFSH EEMYULPN RP TBURPMPTSEOOPK CH OEN TSE UUSCHMLE.

pZChPTLB

ьФХ ЪБДББУЛХ NPTsOP TEYYFSH Y UTEDUFCHBNY UBNPZP HTML , RTBCHDB, ЪBDBFSH uchpkufchb OPCHPZP PLOB CHU-FBLY OE HDBUFUS, DB Y ЪBLTSCHFSHUPHERPHDESZP CHURPNOYN UOBYUBMB, UFP FBLPE UUSCHMLB.

CHPF FHF X OBU U CHBNY UUSCHMLB.

hFPTPC CHBTYBOF:

OE FBLBS KhTs VPMSHYBS TBIOYGB, LBLBS YUBUFSH LPOFEOFB CHSHPRPMOEOB CHYDE UUSCHMLY: FEZ RTYUHFUFCHHEF CH MAVPN UMHYUBE, B PO-FP OBN Y OHTSEO.

fBL CHPF, ЪBDBUH NPTsOP TEYYFSH DPVBCHMEOYEN RBTBNEFTB στόχος CH FEZ (target="zzz" ). chNEUFP zzz NPTsOP RPDUFBCHMSFSH PDOP YЪ FTЈI ЪBTEETCHYTPCHBOSHHI OBYUEOYK:

Self _top _blank

ъOBYUEOYE _self YURPMSH'HEFUS CH FPN UMHYUBE, EUMY OPCHSHCHK DPLHNEOF DPMTSEO VSHFSH PFLTSCHF CH FPN TSE PLOE (ZHTEKNE), YuFP Y YUIPDOSCHK; OBYUEOYE _top ZPCHPTYF P FPN, YuFP OPCHSHCHK DPLHNEOF VHDEF PFLTSCHF CH FELKHEEN PLOE VTBKHETB, CHSHFEUOYCH YOZP CHUE ZHTEKNSCH, EUMY FBLYE OBMYUEFCHP, CHK DPLHNEOF VHDEF PFLTSCHF CH OPChPN PLOE, LPFPTPPE PFLTPEFUS UREGYBMSHOP DMS LFPC GEMY. oP LBL S HCE ZPCHPTYM HRTBCHMSFSH RBTBNEFTBNY LFPZP PLOB NSCH OE UNPTSEN.

LUFBFY, URYUPL ЪBTEETCHYTPCHBOOSHI OBYUEOYK OE YUYUETRSHCHBEFUS FTENS PRYUBOOSHNY ЪDEUSH RTYNETBNY, OP ЪБ ьФН L FETBRECHFH F. E. RPMOPCHPDFTHLTH

ъDEUSH OHTsOP DPVBCHYFSH, YuFP, ChP-RETCHSHI, LTPNE ЪBTEETCHYTPCHBOOSCHI RBTBNEFTPCH CH LBUEUFCHE στόχος NPTsEF VShchFSH RPDUFBCHMEOP YNS HCE UKHEEUPLPECHEE, VPMSHYOUFCHE UMHYUBECH RPUFBTBEFUS PFLTSCHFSH OPCHPE PLOP Y ЪBZTHYFSH DPLKHNEOF FHDB. ChP-CHFPTSHCHI, S KHRPNIOBM ZHTEKNSCH, P LPFPTSHCHI OBN U CHBNY RPLB YuFP OYUEZP OE JCHEUFOP. Σχετικά με τα DBOSHCK NPNEOF Pvpkdјnus Fen, YuFP ZHETEXSH FLOBCHIUNISHIYUNSHSH DPLHNEOFPH, LPFPTHECH MAVPN LPMYuyuyuufche NPZHF OSCHUPDSHUS CHEEN PVEEN Chuyei Oi Plue VTBHETBET. rPDTPVOEE PV LFPN NSCH RPZPCHPTYN OUEULPMSHLP RPЪCE. h ftefshyi, yurpmshъpchboye uuschmpl dms pfltschfys opchpzp plob chshchbop fpmshlp fen, yufp netscape oe ch upufpsy rposfsh upvshchfye onclick (eemyupl nshchysha), eum pop rtpyufyf oe shchysha. διαδικτυακός εξερευνητής

TEBMYBGYS

rPDZPFPCHYN ZHBKM newfile.htm, UPDETSBEIK UMEDHAEIK LPD:

YuFPVSH ЪBLTSCHFSH PLOP, EЈMLOYFE ЪDEUSH.

pVTBFYFE CHOYNBOYE, UFP UFTPLB U FEZPN

TBЪPTCHBOB: OYUEZP UFTBIOPZP, HTML FBLYE CHEY RETEOPUIF URPLPCOP. uFTBOOPE OBYUEOYE RBTBNEFTB href "#" OETEDLP YURPMSH'HEFUS FPZDB, LPZDB UUSCHMLB LBL FBLPCBS OHTSOB, B RETEIPD RP OEK, DBTSE RTY UMKHYUBKOPN EEMUTLEO,

dBMEE. h FPN ZHBKME, YЪ LPFPTPZP ChSCH IPFYFE PFLTSCHFS OPChPE PLOP, OKTsOP UDEMBFSH DCHE CHUFBCHLY. ΚΕΦΑΛΙ RETCHBS CH WELGY .

chFPTBS ZDE-OYVKhDSH CH FEME UFTBOIGSHCH:

YuFPVSH PFLTSCHFSH OPCHPE PLOP, E'MLOYFE ЪDEUSH.

FERETSH RPUNPFTYN, UFP KH OBU U CHBNY RPMKHYUMPUSH. lTPNE FPZP, NPTsOP EЈMLOHFSH .

LUFBFY, YNEKFE CH CHYDH: ЪБЛТШЧФШ PLOP FBLYN PVTBЪPN CHSH UNPTSEFE FPMSHLP CH FPN UMKHYUBE, EUMY POP VSHMP PFLTSCHFP RTY RPNPEY JavaScript.

p FPN, LBLYE EEЈ RBTBNEFTSH NPTsOP ЪBRYIBFSH PE CHUFTPEOOKHA ZHKHOLGYA παράθυρο.open , CHSC RTPYUIFBEFE CH THLPCHPDUFCHE RP JavaScript PF W3C . ;-)

pVIASOOEOYS

zHOLGYS OpenWin UPDETSYF UFBODBTFOSCHK NEFPD JavaScript window.open , YURPMSHHAEIKUS DMS PFLTSCHFYS OPChPZP PLOB. h LBUEUFCHE RBTBNEFTPCH NSCH RETEDBEN LFPNH NEFPDH (YMY ZHKHOLGYY, YuFP RPYUFY FP TSE UBNPE):

1. "newfile.htm" YNS DPLHNEOFB, LPFPTSCHK DPMTSEO PFLTSCHFSHUS CH OPChPN PLOE.

2. "mywindow" YNS LFPZP PLOB DMS DBMSHOEKYI UUSCHMPL ΣΧΕΤΙΚΑ ΜΕ ΤΗΝ OEZP. KHLBSHCHBFSH Ο.Ε TPCH.

3. "width=300,height=250,toolbar=no" OBVPT UFBODBTFOSHI RBTBNEFTPCH UP OBUYEOYSNY. h DBOOPN UMHYUBE MYOEKOSHCH TBNETSH PLOB Y YOZHPTNBGYA P FPN, YuFP POP OE DPMTSOP YNEFSH RBOEMY YOUFTHNEOFPC. ъBNEFSHFE, YuFP OBYUEOYS RBTBNEFTPCH S RYYKH VEЪ LBCHSHCHUEL.

uMEDHAEBS YUBUFSH LPDB (ЪDEUSH) RTEDRYUSCHCHBEF VTBHЪETKH YURPMOYFSH ZHKHOLGYA (NEFPD) OpenWin RTY EEMULE ΣΧΕΤΙΚΑ ΜΕ ΤΟ UMPCHE ЪDEUSH, PZHTNMEOOPN LUSBLCHML="UFBC" (UMPCHE#Bh).

fPYuOP FBLHA CE ZHPTNKH ЪBRYUY YURPMSHЪHEF ULTYRF, TBNEEYOOOSCHK CH DPLKHNEOFE, LPFPTSCHK PFLTSCHCHBEFUS CH OPChPN PLOE. uFBODBTFOSHK NEFPD παράθυρο.κλείσιμο ЪBLTSCHCHBEF FELHEEE PLOP, EUMY POP VSHMP PFLTSCHFP U RPNPESH JavaScript . eUMY NSCH IPFEMY VSH ЪBLTSCHFSH DTHZPE PLOP, RTYYMPUSH VSC OBRYUBFSH mywin.close() , WHERE mywin -- YNS PLOB, LPFPTPPE ULTYRFH RTEDUFPYF ЪBLTSCHFSH.

CHCHOPU ULTYRFPCH CH PFDEMSHOSHCHK ZhBKM

eUFSH EEЈ PDYO CHBTYBOF ЪBRYUY LPOFEKOETB SCRIPT .

yFP PYOBYUBEF, YFP CHUE CHBY ULTYRFSH NPZHF ITBOYFSHUS CH PFDEMSHOPN ZHBKME U TBUYYTEOYEN. js. eUFEUFCHEOOP, CH LFPN UMKHYUBE OHTSOP RYUBFSH LMAYUECHPE UMPChP ΣΕΝΑΡΙΟ CH UBNPN ZHBKME: RTPUFP RPNEUFYFE RTYCHEDOOKHA CHCHYE UFTPLH F BL CE, LBL EUMY VSHCH EЈ FELUF OBIPDIYMUS RTSNP ΣΧΕΤΙΚΑ ΜΕ ΤΟ UFTBOYG. fP KhDPVOP EEЈ Y RPFPNH, YuFP RTY ChPNPTSOPN YЪNEOOYY ULTYRFB CHBN OE RTYDFUS YЪNEOSFSH CHUE HTML -ZhBKMSHCH, LPFPTSHCHE ΣΧΕΤΙΚΑ ΜΕ ΤΟ OEZP UUSCHMBAFUS.

ъBLMAYUEOOYE

rPOSFOP, YuFP RPLB EEЈ OYUEZP OE RPOSFOP. uPVUFCHOOOP, S OE DBChBM PVEF KHYUFSH CHBU SJSHCHLH CH RPMOPN PVIJINE: DMS bFPZP EUFSH NBUUB KHNOSHCHY RPMEOSCHI LOYZ. rTPVMENB CH FPN, YuFP PYUEOSH YBUFP KH MADEK, RTPYUYFBCHYI ABLYE LOYZY, CHP'OILBEF NBUUB CHPRTPUPCH YNEOOOP PE CHTENS RETCHPK RPRSHFLY TEBMYPCHBFCHBOPYFSHHEPY th ChPF FHF, S OBDEAUSH, NPЈ NBMEOSHLPE THLPCHPDUFCHP PLBTSEPHUS RPMEЪOSCHN.

με TBUUNPFTEM CHBTYBOFSH TEYEOYS DCHHI ЪBDBU, LPFPTSCHE YUBEE CHUEZP CHUFTEYUBAFUS RTY RPUFTPEOOY CHEV-UFTBOIG. lPOYUOP TSE, CHBN OHTSOP ЪOBFSH VPMSHYE P JavaScript: CHPNPTsOP, YNEOOP KHZMKHVMEOYEN OBOYK NSCH Y ЪBKNENUS ΣΧΕΤΙΚΑ ΜΕ ΤΟ UMEDHAEEN HTPLE. b UEKYUBU OBRPUMEDPPL OEULPMSHLP RTBCHYM, LPFPTSHCHE OEPVIPDYNP RPNOIFSH PE CHTENS RTPZTBNNNYTPCHBOYS ΣΧΕΤΙΚΑ ΜΕ ΤΟ ΣΥΣΤΗΜΑ JavaScript .

1. сЪШЛ JavaScript YUKHCHUFCHYFEMEO L TEZYUFTH.

lBL HCE ZPCHPTYMPUSH TBOSHYE, RETENOOOSCH θερμοκρασία Y Temp DMS SJSCHLB JavaScript OE PDOP Y FP TSE: H OYI VHDHF TBOSCH OBYUEOYS, RPFPNH VHDSHFE CHOINBFEMSHOSH RTY OBRYUBOY.

2. LBTSDSCHK PRETBFPT DPMTSEO PLBOYUYCHBFSHUS FPYULPK U ЪBRSFPK.

FeptefyUeuly rpumedoyk pretbfpt vmplb (...) nptsop ryubfsh y ve fpyuly u eBrsfpk, op mhyuye ee chuј-fbly ufbchyfsh ltpne uregybmshop pzpchpchhi umkhyubech, vasch nsch tbuunpftyn rpptse.

3. OE ЪБВШЧЧБКФЭ ПВТБНМСФШ ULTYRFSH UYNCHPMBNY LPNNEOFBTYS.