Ερώτηση για αλλαγή σε script.

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Ryu » 07 Φεβ 2005 11:05

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

Την δευτέρα θα δείξει το περιεχόμενο "1".
Την τρίτη το περιεχόμενο "2".
Την τεταρτη το "3" και λοιπά.

Το πρόβλημα μου είναι ότι την επόμενη δευτέρα θα ξαναδείξει το "1" ενώ εγώ θέλω να δείξει το "8". Να μην τελειώσει δηλ στις 7 ημέρες τις εβδομάδας αλλά στον αριθμό που θέλω εγώ. Μπορώ να το κάνω αυτό άμα προσθέσω καμιά χιλιάδα (τρόπος του λέγειν βέβαια... όχι και χιλιάδα) τέτοια;

Κώδικας: Επιλογή όλων

daycontent[8]="8.htm"
Ή θα μπερδευτεί και δεν θα ξέρει τι του γίνεται;

Κώδικας: Επιλογή όλων

<script language="JavaScript1.2">

//Daily iframe content- © Dynamic Drive &#40;www.dynamicdrive.com&#41;
//For full source code, and Terms Of use, visit http&#58;//dynamicdrive.com
//This credit MUST stay intact for use

var ie=document.all&&navigator.userAgent.indexOf&#40;"Opera"&#41;==-1
var dom=document.getElementById&&navigator.userAgent.indexOf&#40;"Opera"&#41;==-1

//Specify IFRAME display attributes
var iframeprops='width=150 height=150 marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="1" scrolling="no"'

//Specify 7 URLs to display inside iframe, one for each day of week
var daycontent=new Array&#40;&#41;
daycontent&#91;1&#93;="monday.htm" //Monday content
daycontent&#91;2&#93;="tuesday.htm" //Tuesday content
daycontent&#91;3&#93;="wednesday.htm"
daycontent&#91;4&#93;="thursday.htm"
daycontent&#91;5&#93;="friday.htm"
daycontent&#91;6&#93;="saturday.htm"
daycontent&#91;0&#93;="sunday.htm"

//No need to edit after here
if &#40;ie||dom&#41;
document.write&#40;'<iframe id="dynstuff" src="" '+iframeprops+'></iframe>'&#41;

var mydate=new Date&#40;&#41;
var mytoday=mydate.getDay&#40;&#41;

function dayofweek_iframe&#40;&#41;&#123;
if &#40;ie||dom&#41;&#123;
var iframeobj=document.getElementById? document.getElementById&#40;"dynstuff"&#41; &#58; document.all.dynstuff
iframeobj.src=daycontent&#91;mytoday&#93;
&#125;
&#125;

window.onload=dayofweek_iframe

</script>






<script type="text/javascript">

//ID of Daily Iframe tag&#58;
var iframeids=&#91;"dynstuff"&#93;

var getFFVersion=navigator.userAgent.substring&#40;navigator.userAgent.indexOf&#40;"Firefox"&#41;&#41;.split&#40;"/"&#41;&#91;1&#93;
var FFextraHeight=getFFVersion>=0.1? 16 &#58; 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function startdyncode&#40;&#41;&#123;
dyniframesize&#40;&#41;
&#125;

function dyniframesize&#40;&#41; &#123;
var dyniframe=new Array&#40;&#41;
for &#40;i=0; i<iframeids.length; i++&#41;&#123;
if &#40;document.getElementById&#41;&#123; //begin resizing iframe procedure
dyniframe&#91;dyniframe.length&#93; = document.getElementById&#40;iframeids&#91;i&#93;&#41;;
if &#40;dyniframe&#91;i&#93; && !window.opera&#41;&#123;
dyniframe&#91;i&#93;.style.display="block"
if &#40;dyniframe&#91;i&#93;.contentDocument && dyniframe&#91;i&#93;.contentDocument.body.offsetHeight&#41; //ns6 syntax
dyniframe&#91;i&#93;.height = dyniframe&#91;i&#93;.contentDocument.body.offsetHeight+FFextraHeight; 
else if &#40;dyniframe&#91;i&#93;.Document && dyniframe&#91;i&#93;.Document.body.scrollHeight&#41; //ie5+ syntax
dyniframe&#91;i&#93;.height = dyniframe&#91;i&#93;.Document.body.scrollHeight;
&#125;
&#125;
&#125;
&#125;

if &#40;window.addEventListener&#41;
window.addEventListener&#40;"load", startdyncode, false&#41;
else if &#40;window.attachEvent&#41;
window.attachEvent&#40;"onload", startdyncode&#41;

</script>

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Ryu » 07 Φεβ 2005 17:38

Μάλλον τα παιδιά κοιμούνται ακόμα...
(ή μήπως εγώ ανυπομονώ;; :hammer: )

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Cha0s » 07 Φεβ 2005 17:42

Σας καλομάθαμε να απαντάμε γρήγορα ε;
χεχεχεχεχε


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

Οπότε θα πρέπει να παίρνει μία ημερομηνία αρχής που θα του δηλώνεις και μετά συγκρίνοντας την ημερομηνία του User που μπαίνει στην σελίδα να βλέπει πόσες μέρες έχουν περάσει και να δείχνει το ανάλογο content.

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Ryu » 07 Φεβ 2005 18:01

Ήταν γρήγορο; Δεν το κατάλαβα.... :o :roll:
Δεν γνωρίζω Javascript
ΕΕΕεεεεεε;;;;;;;; :o :o :o :o :o Ορίστε;;; Υπάρχει ΕΣΤΩ ένα πράγμα που δεν το γνώριζες;;; :o :o :o :o :o Στα αλήθεια τώρα κουφάθηκα!! Να.. επειδή συνήθως μαθαινει κάποιος php αφού έχει περάσει από το στάδιο της html και της Javascript νόμιζα....
Οπότε θα πρέπει να παίρνει μία ημερομηνία αρχής που θα του δηλώνεις και μετά συγκρίνοντας την ημερομηνία του User που μπαίνει στην σελίδα να βλέπει πόσες μέρες έχουν περάσει και να δείχνει το ανάλογο content.
Δυστυχώς κάπου εκεί κολλάω και εγώ. Δεν ξέρω αν το script έχει ορισμένο αριθμό (των εφτά ημερών) ή όχι.. Αν μπορώ δηλ να βάλω και άλλα ή όχι....

Πάντως ευχαριστώ για την απάντηση παρόλο που δεν ήξερες την απάντηση. Αυτό (οφείλεις να το ομολογήσεις) είναι ένα σπάνιο φαινόμενο. Να μιλάς ενώ δεν ξέρεις, ενώ άλλες φορές στα τραβάμε με το τσιγκέλι (αυτό το τσιγκέλι θα είχε κόλλα φαίνεται και από τότε δεν ξεκόλησε!!).... Με κούφανες 2 φορές σήμερα!! Ρίχνω ένα ποτό για να το χωνέψω!! :pint:

Άβαταρ μέλους
tsiger
Honorary Member
Δημοσιεύσεις: 1431
Εγγραφή: 11 Νοέμ 2002 13:40
Τοποθεσία: Thessaloniki Observation Center
Επικοινωνία:

Ερώτηση για αλλαγή σε script.

Δημοσίευση από tsiger » 07 Φεβ 2005 18:45

to sygkekrimeno script tha agnoisei otidipote allo valeis panw apo 7 mias kai pernei ypopsin mono tin imera. Diladi, les oti theleis na emfanizeis kathe mera kai allo periexomeno. O xronos exei 365 meres. Tha prepei na prosarmoseis to script etsi oste na dimiourgei ena array apo tin kathe mera tou mina, na tis antistoixei ena noumero kai auto to noumero na einai o arithmos tou arxeiou pou thes na emfaniseis. prepei na figw twra molis girisw tha pai3w mazi tou kai tha vroume akrh :D

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Cha0s » 07 Φεβ 2005 19:44

Ryu έγραψε:ΕΕΕεεεεεε;;;;;;;; :o :o :o :o :o Ορίστε;;; Υπάρχει ΕΣΤΩ ένα πράγμα που δεν το γνώριζες;;; :o :o :o :o :o Στα αλήθεια τώρα κουφάθηκα!! Να.. επειδή συνήθως μαθαινει κάποιος php αφού έχει περάσει από το στάδιο της html και της Javascript νόμιζα....
Εχμμ..
Κανείς δεν ξέρει τίποτα ;)
Javascript μπορώ να διαβάσω και να καταλάβω χοντρικά τι κάνει ένα script.
Μπορώ να πειράξω 5-6 πραγματάκια σε έτοιμα scripts.
Να κάτσω να συντάξω από την αρχή δικό μου script δεν ξέρω όχι...
Πάντως ευχαριστώ για την απάντηση παρόλο που δεν ήξερες την απάντηση. Αυτό (οφείλεις να το ομολογήσεις) είναι ένα σπάνιο φαινόμενο. Να μιλάς ενώ δεν ξέρεις, ενώ άλλες φορές στα τραβάμε με το τσιγκέλι
Όταν μου τα τραβάτε με το τσιγκέλι πάει να πει ότι έχω λόγο που το κάνω για να ψαχτείτε λίγο παραπάνω ;)
Είμαι ιδιότροπος μερικές φορές τι να κάνω :lol: :lol:
Με κούφανες 2 φορές σήμερα!!
Η 2η φορά ποια ήταν; :D :kaloe:

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Ryu » 07 Φεβ 2005 20:17

Cha0s έγραψε:Εχμμ..
Κανείς δεν ξέρει τίποτα ;)
Javascript μπορώ να διαβάσω και να καταλάβω χοντρικά τι κάνει ένα script.
Μπορώ να πειράξω 5-6 πραγματάκια σε έτοιμα scripts.
Να κάτσω να συντάξω από την αρχή δικό μου script δεν ξέρω όχι...
:( :( :( Και εγώ κάπου εκεί είμαι... :( :( :( Ξέρω κάποιες αλλαγές επειδή το έχω δει αλλού... αλλά το γιατί μπορώ να το αλλάξω το τάδε, δεν ξέρω... δεν ξέρω δηλ τις αρχές του προγραμματισμού (ή ότι είναι αυτό!)
Όταν μου τα τραβάτε με το τσιγκέλι πάει να πει ότι έχω λόγο που το κάνω για να ψαχτείτε λίγο παραπάνω ;)
Είμαι ιδιότροπος μερικές φορές τι να κάνω :lol: :lol:
Να σου πω... την προηγούμενη φορά σου είχα πει ότι έχω συνηθίσει να ψάχνω να μάθω το 10ατο, γιατί άμα ξέρω τα 9 δεν ειναι αρκετό. Αυτό όσο και αν μου βγαίνει σε καλό σαν μάθηση κατά τα άλλα δηλώνει το πόσο ανασφαλής είμαι σαν χαρακτήρας. Και επειδή ντρέπομαι κάθε φορά που ζητάω βοήθεια, (έμαθα ότι όλα πρέπει να τα κάνω μόνος μου... λες και είναι ποτέ δυνατό να ξέρει κάποιος τα πάντα... όμως τι να κάνουμε.. οι συνήθειες δεν αλλάζουν...) γι' αυτό το βρίσκω λιγάκι άδικο ο άλλος να μου λέει "δεν σου απαντάω γιατί θέλω να το βρεις μόνος σου" όταν ο μοναδικός λόγος που ρωτάω είναι όταν έχω φτάει στο αμήν!! Επειδή όμως είμαι χρόνια στο internet και έχω μάθει να ξεχωρίζω τους χαρακτήρες ξέρω ποιος το κάνει για τους δικούς σου λόγους και ποιος από άγνοια, ή αντιπάθεια (προς το άτομο που κάνει την ερώτηση) και λοιπά. Γι' αυτό και την προηγούμενη φορά που καυγαδίσαμε δεν το πήγα παραπέρα. Ήξερα ότι άμα με γνωρίσεις θα καταλάβεις αν είμαι τέτοιος χαρακτήρας ή όχι. Μέχρι στιγμής δεν ξέρω τι εντύπωση σου έχω δώσει (ελπίζω την καλύτερη :kaloe: ) αλλά είμαι από αυτούς που πιστεύουν ότι σε κάθε θέμα φταίνε εξίσου και οι δύο. (Ήταν ένας από τους λόγους που δεν το συνέχισα την προηγούμενη φορά όταν είδα ότι "βγήκες λάδι" παρόλο που κατά την γνώμη μου έφταιγες). Δεν σε κατηγορώ για αυτήν σου την ιδέα (είναι αλήθεια ότι αν δεν τον πιέσεις τον άλλον δεν πρόκειται να μάθει ποτέ) αντιθέτως σε κατηγορώ που κρίνεις αν ο άλλος ανήκει σε αυτό το στρατόπεδο χωρίς να τον ξέρεις. Αυτό αν διορθώσεις θα κάνεις πολύ καλό σε πολλούς γιατί θα τους έχεις πιέσει να μάθουν. Και θα το χρωστάνε σε σένα.

Βέβαια όλα αυτά είναι η δική μου γνώμη μόνο.... Ήταν η δική μου άποψη για σένα. Δεν είναι απαραίτητο να είναι όλα αυτά αλήθεια. Και μην τα πάρεις όλα αυτά προσωπικά. Σκέψου και κρίνε μόνος σου..... Αυτά για αυτό το θέμα.
Με κούφανες 2 φορές σήμερα!!
Η 2η φορά ποια ήταν; :D :kaloe:


:P Σε μπέρδεψα... σόρρυ: η μία φορά που απάντησες χωρίς να ξέρεις (συνήθως μιλάς με σιγουριά και εκ του ασφαλούς της γνώσης) και η άλλη ότι δεν ξέρεις javascript.

Ryu
Δημοσιεύσεις: 74
Εγγραφή: 24 Σεπ 2004 16:32

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Ryu » 07 Φεβ 2005 20:21

tsiger έγραψε:to sygkekrimeno script tha agnoisei otidipote allo valeis panw apo 7 mias kai pernei ypopsin mono tin imera. Diladi, les oti theleis na emfanizeis kathe mera kai allo periexomeno. O xronos exei 365 meres. Tha prepei na prosarmoseis to script etsi oste na dimiourgei ena array apo tin kathe mera tou mina, na tis antistoixei ena noumero kai auto to noumero na einai o arithmos tou arxeiou pou thes na emfaniseis. prepei na figw twra molis girisw tha pai3w mazi tou kai tha vroume akrh :D
Ευχαριστώ! Βρήκα και ένα για τον μήνα άλλα πάλι έχω το ίδιο πρόβλημα. Θέλω την πρώτη π.χ δευτέρα να δείχνει κάποιο τάδε, ενώ την επόμενη δευτέρα κάποιο άλλο τάδε από μια συλλογή που θα έχω ετοιμάσει, όχι δηλ να κάνει loop...

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Rapid-eraser » 07 Φεβ 2005 20:41

giati dev to kaveis me kapoia server side glossa va ksemperdebeis ?
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Cha0s » 07 Φεβ 2005 21:18

Ryu έγραψε:
Cha0s έγραψε:Εχμμ..
Κανείς δεν ξέρει τίποτα ;)
Javascript μπορώ να διαβάσω και να καταλάβω χοντρικά τι κάνει ένα script.
Μπορώ να πειράξω 5-6 πραγματάκια σε έτοιμα scripts.
Να κάτσω να συντάξω από την αρχή δικό μου script δεν ξέρω όχι...
:( :( :( Και εγώ κάπου εκεί είμαι... :( :( :( Ξέρω κάποιες αλλαγές επειδή το έχω δει αλλού... αλλά το γιατί μπορώ να το αλλάξω το τάδε, δεν ξέρω... δεν ξέρω δηλ τις αρχές του προγραμματισμού (ή ότι είναι αυτό!)
Όταν μου τα τραβάτε με το τσιγκέλι πάει να πει ότι έχω λόγο που το κάνω για να ψαχτείτε λίγο παραπάνω ;)
Είμαι ιδιότροπος μερικές φορές τι να κάνω :lol: :lol:
Να σου πω... την προηγούμενη φορά σου είχα πει ότι έχω συνηθίσει να ψάχνω να μάθω το 10ατο, γιατί άμα ξέρω τα 9 δεν ειναι αρκετό. Αυτό όσο και αν μου βγαίνει σε καλό σαν μάθηση κατά τα άλλα δηλώνει το πόσο ανασφαλής είμαι σαν χαρακτήρας. Και επειδή ντρέπομαι κάθε φορά που ζητάω βοήθεια, (έμαθα ότι όλα πρέπει να τα κάνω μόνος μου... λες και είναι ποτέ δυνατό να ξέρει κάποιος τα πάντα... όμως τι να κάνουμε.. οι συνήθειες δεν αλλάζουν...) γι' αυτό το βρίσκω λιγάκι άδικο ο άλλος να μου λέει "δεν σου απαντάω γιατί θέλω να το βρεις μόνος σου" όταν ο μοναδικός λόγος που ρωτάω είναι όταν έχω φτάει στο αμήν!! Επειδή όμως είμαι χρόνια στο internet και έχω μάθει να ξεχωρίζω τους χαρακτήρες ξέρω ποιος το κάνει για τους δικούς σου λόγους και ποιος από άγνοια, ή αντιπάθεια (προς το άτομο που κάνει την ερώτηση) και λοιπά. Γι' αυτό και την προηγούμενη φορά που καυγαδίσαμε δεν το πήγα παραπέρα. Ήξερα ότι άμα με γνωρίσεις θα καταλάβεις αν είμαι τέτοιος χαρακτήρας ή όχι. Μέχρι στιγμής δεν ξέρω τι εντύπωση σου έχω δώσει (ελπίζω την καλύτερη :kaloe: ) αλλά είμαι από αυτούς που πιστεύουν ότι σε κάθε θέμα φταίνε εξίσου και οι δύο. (Ήταν ένας από τους λόγους που δεν το συνέχισα την προηγούμενη φορά όταν είδα ότι "βγήκες λάδι" παρόλο που κατά την γνώμη μου έφταιγες). Δεν σε κατηγορώ για αυτήν σου την ιδέα (είναι αλήθεια ότι αν δεν τον πιέσεις τον άλλον δεν πρόκειται να μάθει ποτέ) αντιθέτως σε κατηγορώ που κρίνεις αν ο άλλος ανήκει σε αυτό το στρατόπεδο χωρίς να τον ξέρεις. Αυτό αν διορθώσεις θα κάνεις πολύ καλό σε πολλούς γιατί θα τους έχεις πιέσει να μάθουν. Και θα το χρωστάνε σε σένα.

Βέβαια όλα αυτά είναι η δική μου γνώμη μόνο.... Ήταν η δική μου άποψη για σένα. Δεν είναι απαραίτητο να είναι όλα αυτά αλήθεια. Και μην τα πάρεις όλα αυτά προσωπικά. Σκέψου και κρίνε μόνος σου..... Αυτά για αυτό το θέμα.
Με κούφανες 2 φορές σήμερα!!
Η 2η φορά ποια ήταν; :D :kaloe:


:P Σε μπέρδεψα... σόρρυ: η μία φορά που απάντησες χωρίς να ξέρεις (συνήθως μιλάς με σιγουριά και εκ του ασφαλούς της γνώσης) και η άλλη ότι δεν ξέρεις javascript.
Αν σου πω ότι δεν θυμάμαι καν ότι έχουμε τσακωθεί;
Σε ποιο θέμα έγινε αυτό;

Πότε;

Δώσε μου λινκ να δω γιατί από τσακωμούς άλλο τίποτα εγώ :hammer: :hammer:

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Ερώτηση για αλλαγή σε script.

Δημοσίευση από Cha0s » 08 Φεβ 2005 16:59

Οκ,

Βρήκα το topic που αναφέρεσαι :P

Το ότι δεν θυμόμουνα καν το περιστατικό είναι απόδειξη ότι δεν έχω κάτι με σένα και με κανέναν προσωπικά.

Το συγκεκριμένο τόπικ ήταν αφορμή για την συμπεριφορά μου.
Δεν ήταν το Username σου η αφορμή ;)

Aν έχεις παρατηρήσει τώρα που είσαι περισσότερο καιρό στο φόρουμ το ύφος των απαντήσεων μου έχουν να κάνουν με τους τρόπους των ερωτήσεων. (αν καταλαβαίνεις τι εννοώ).

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Ερώτηση για αλλαγή σε script.

Δημοσίευση από agrippas » 08 Φεβ 2005 18:09

Πολύ απλό. Αν αλλάξεις το

Κώδικας: Επιλογή όλων

var mytoday=mydate.getDay&#40;&#41;
με

Κώδικας: Επιλογή όλων

var mytoday=mydate.getDate&#40;&#41;
θα μπορείς να έχεις μέχρι και 31 διαφορετικές καταχωρήσεις. Εντελώς ανάλογα, με .getDoY() μπορείς να βάλεις μέχρι και 366 καταχωρήσεις (παίζει και το δίσεκτο).

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Ερώτηση για αλλαγή σε script.

Δημοσίευση από skeftomilos » 14 Φεβ 2005 07:03

Το συγκεκριμένο script που παρουσίασες Ryu έχει προορισμό να εμφανίζει διαφορετική σελίδα κάθε μέρα, άλλα την ίδια για όλη τη διάρκεια της μέρας, και επιπλέον να επαναλαμβάνεται ο κύκλος κάθε εβδομάδα. Απ' όσα λες νομίζω πως εσύ δε θέλεις καθόλου κάτι τέτοιο. Γενικά δε θέλεις να γίνεται καμία επανάληψη. Θέλεις ο χρήστης να βλέπει κάθε φορά μία διαφορετική σελίδα ανεξάρτητα εάν ξαναμπήκε στο site την ίδια μέρα, εβδομάδα ή μήνα.

Αν κατάλαβα σωστά τις προθέσεις σου, τότε η λύση στο πρόβλημά σου είναι απλούστερη. Θέλεις απλά μία τυχαία σελίδα. Πολύ απλούστερο από το να μπερδεύεσαι με ημερομηνίες είναι να δημιουργείς ένα τυχαίο αριθμό από το 1 μέχρι τον αριθμό των διαθέσιμων σελίδων και να εμφανίζεις την αντίστοιχη σελίδα. Η συνάρτηση JavaScript που δημιουργεί έναν τυχαίο αριθμό από το 0 ως το 1 είναι η Math.random(). Αν θέλεις έναν τυχαίο αριθμό από 1 εως n, η έκφραση που θα στον δώσει είναι η παρακάτω:

Κώδικας: Επιλογή όλων

Math.floor&#40;Math.random&#40;&#41;*n&#41; + 1
Αναφέρεις ότι θέλεις να έχεις πολλές εναλλακτικές σελίδες. Ίσως και καμιά χιλιάδα, γιατί όχι? Έχε όμως υπόψη σου ότι 1000 εντολές του στυλ daycontent[540]="Kalomoira.htm" σημαίνουν τουλάχιστον 30K επιπλέον μέγεθος των σελίδων σου, δηλαδή 6 δευτερόλεπτα επιπλέον χρόνο download για μία dial-up σύνδεση κατά τη διάρκεια του οποίου οι χρήστες θα βλέπουν μία λευκή σελίδα. Όχι και πολύ κομψό! Αλλά κι αυτό το πρόβλημα έχει λύση και μάλιστα απλή. Δώσε σε όλες τις εναλλακτικές σελίδες σου το ίδιο όνομα προσθέτοντας μία άυξουσα αρίθμηση. Π.χ. Stuff1.htm, Stuff2.htm, Stuff3.htm ... Stuff540.htm. Μετά ο κώδικας που θα γράψει δυναμικά την HTML για το IFrame θα είναι κάπως έτσι:

Κώδικας: Επιλογή όλων

var random_name = "Stuff" + &#40;Math.floor&#40;Math.random&#40;&#41;*540&#41; + 1&#41; + ".htm
document.write&#40;'<iframe src="' + random_name + '"></iframe>'&#41;
Έχε υπόψη σου ότι ένα ποσοστό χρηστών (περίπου το 10%) δεν έχει ενεργοποιημένη τη JavaScript. Αυτοί δεν θα δούνε το IFrame, εκτός εάν προσθέσεις ένα tag <noscript> μετά το <script>, π.χ.:

Κώδικας: Επιλογή όλων

<noscript>
  <iframe src="Default_Stuff.htm"></iframe>
</noscript>
Αυτοί οι χρήστες θα βλέπουν πάντα το ίδιο, αλλά τουλάχιστον θα βλέπουν κάτι. Ίσως αυτός είναι ένας λόγος για να ακολουθήσεις τη συμβουλή του Rapid-eraser και να φροντίσεις να εκτελεστεί ο κώδικας στον server. Ένα scriptάκι σε ASP ή PHP θα κάνει τη δουλειά, αν ο Host σου δίνει τη δυνατότητα.

Η τυχαία επιλογή σελίδας δεν αποκλείει φυσικά την πιθανότητα ένας χρήστης να δει δύο φορές την ίδια σελίδα. Αν θέλεις να αποκλείσεις αυτή την πιθανότητα μπορείς να το κάνεις χρησιμοποιώντας cookies, αλλά φαντάζομαι ότι δεν θέλεις να μπεις σε τέτοιο μπελά για τόσο μικρό όφελος.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες