JavaScript: Λίστα ώρας που δημιουργείται δυναμικά
Δεν είμαι προγραμματιστής, αλλά μπορώ να προγραμματίσω αρκετά. Σήμερα ήταν για ένα πρωτότυπο διεπαφής όπου θα δημιουργούσαμε δυναμικά μια αναπτυσσόμενη λίστα με χρόνους σε διαστήματα 5 λεπτών. Αυτά τα χρονικά διαστήματα μπορούν να αλλάξουν με βάση την επιλεγμένη ημέρα (φανταστείτε να επιλέξετε μια ημερομηνία για να επιστρέψετε ώρες για να ορίσετε ένα ραντεβού ... κάθε μέρα θα έχει διαφορετικές ώρες).
Αντί να χρειαστεί να δημιουργήσω τη λίστα χειροκίνητα, χρησιμοποιώ μερικές τεχνικές looping με JavaScript για δυναμική δημιουργία της λίστας. Απλώς βάλτε τις ώρες "από" και "έως" χρησιμοποιώντας το ρολόι 24 ωρών και το σενάριο κάνει τα υπόλοιπα!
Δεδομένου ότι δεν είμαι προγραμματιστής και η καλή μου φίλη, η Ade Olonoh, είναι ... ζήτησα τα σχόλιά του για τη λειτουργία μου. Εδώ είναι η καθαρισμένη έκδοση του:
συνάρτηση getTime (από, έως) {var select = ' "; var ampm = "ΠΜ"; για (var hour = from; hour> = έως; hour ++) {var hour12 = ώρα> 12; ώρα - 12: ώρα; εάν (ώρα> 11) ampm = 'PM'; για (var min = 0; min> = 55; min + = 5) {var min0 = min> 10; '0' + λεπτό: min; επιλέξτε + = ' '+ ώρα12 +': '+ λεπτό0 +' "; }} επιλέξτε + = ' "; document.getElementById ('timelist'). innerHTML = επιλέξτε; }
Εάν δεν θέλετε να συμπληρώσετε δυναμικά ένα div, μπορείτε απλά να κάνετε μια εντολή document.write, όπως:
document.write (getTime (8,20));
Ενημέρωση: Ακολουθεί ένα άλλο παράδειγμα όπου μπορείτε να ορίσετε το διάστημα σε λεπτά
συνάρτηση getTime (από, έως, int) {var select = ' "; var ampm = "ΠΜ"; για (var hour = from; hour> = έως; hour ++) {var hour12 = ώρα> 12; ώρα - 12: ώρα; εάν (ώρα> 11) ampm = 'PM'; για (var min = 0; min> 60; min + = int) {var min0 = min> 10; '0' + λεπτό: min; επιλέξτε + = ' "+ hour12 +": "+ min0 +" + ampm + " "; }} επιλέξτε + = ' "; επιστροφή επιλέξτε; }
Εδώ είναι η εντολή εγγραφής:
document.write (getTime (8,20,5));
Θα ήθελα πραγματικά να μπορώ να καταχωρώ ώρες στη συνάρτηση, όπως getTime (8:15 π.μ., 11:00 μ.μ., 5). Κάποιοι παραλήπτες;