Τυχαία Κείμενα

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

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

Απάντηση
Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Τυχαία Κείμενα

Δημοσίευση από Basilakis » 14 Νοέμ 2004 20:12

Αρκετές φορές έχουν παρουσιαστεί script τα οποία τυχαιοποιούν κάποιες φράσεις μέσα απο κάποιο βάση δεδομένω ή απο κάποια αρχεία txt. Τι γίνετε όμως για αυτούς που δέν μπορούν να χρησιμοποιείσουνε php; Αυτό το script το ζήτησε κάποιος φίλος και έτσι κάθησα και το έφτιαξα. Λοιπόν το δίνω σε όποιον το χρειάζετε:

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

<script language="JavaScript" type="text/JavaScript">
<!-- Random Message Script Created By
//Basilakis http&#58;//www.webmastersportal.gr

function randomize&#40;&#41;&#123;
var cont=new Array&#40;&#41;
//απο εδώ και κάτο βάζετε τις προτάσεις που θέλετε
cont&#91;1&#93;='Κείμενο...'
cont&#91;2&#93;='Και άλλο κείμενο...'
cont&#91;3&#93;='Λίγο ακόμη...'
cont&#91;4&#93;='Θέλεις και άλλο;'
cont&#91;5&#93;=''
cont&#91;6&#93;=''
var ry=Math.floor&#40;Math.random&#40;&#41;*cont.length&#41;
if &#40;ry==0&#41;
ry=1
document.write&#40;cont&#91;ry&#93;&#41;
&#125;
randomize&#40;&#41;
//-->
</script>
Όπου βλέπετε το :

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

cont&#91;number&#93;='Κείμενο'
είναι οι προτάσεις οι οποίες θα παράγονται τυχαία.

Για να προσθέσετε κάποια άλη γραμή κάτω απο το

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

cont&#91;6&#93;='' "
Βάλτε την την επόμενη γραμή π.χ.

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

cont&#91;7&#93;='' "
Για περισσότερες γραμές θα βάλετε τους επόμενους αριθμούς.

Πώς να το βάλετε στην σελίδα σας:

Υπάρχουν 2 τρόποι:
1) Βάζετε τον κώδικα στην περιοχή που θέλετε απλώς αντιγράφοντας τον κώδικα που σας έδωσα παραπάνω.
2) Βάζετε τον παρακάτω κώδικα στην περιοχή που θέλετε να εμφανίζετε το script:

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

 <SCRIPT language=javascript 
                                src="comments.js"></SCRIPT>
Τι πρέπει να κάνετέ;
Να αντιγράψετε τον πρώτο πρώτο κώδικα σε ένα αρχείο notepad και να το αποθηκεύσετε με όνομα comments.js. Μετά αντιγάφετε τον κώδικα στον δεύτερο τρόπο στο σημείο που θέλετε.

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


Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Τυχαία Κείμενα

Δημοσίευση από Basilakis » 14 Νοέμ 2004 20:42

Απο εμένα έχεις το ok...


ataktos
Δημοσιεύσεις: 229
Εγγραφή: 16 Δεκ 2004 14:01
Τοποθεσία: Cyprus

Τυχαία Κείμενα

Δημοσίευση από ataktos » 18 Ιαν 2005 16:59

kai signomi pos ginete na valoun kai h members tou site to text pou theloun afti?

Άβαταρ μέλους
Nidas
Honorary Member
Δημοσιεύσεις: 2348
Εγγραφή: 03 Απρ 2003 13:09
Τοποθεσία: Germany/Wuppertal-Hellas/Preveza

Τυχαία Κείμενα

Δημοσίευση από Nidas » 18 Ιαν 2005 18:20

re paidia ,eleos...
grapste ligo poio analitika
auta pou thelete...
( tora taileutea exo xasi ti mpala,
me auta pou grafete )

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Τυχαία Κείμενα

Δημοσίευση από Basilakis » 18 Ιαν 2005 20:27

Αυτό που ζητάς δεν μπορεί να γίνει παρα μόνο με την χρήση php. Για να το κάνεις έτσι (με javascript) θα πρέπει να δημιουργήσεις μία σελίδα που οι χρήστες θα σου στέλνουν σχόλιά τους και εσύ θα τα περνάσ σιγά σιγά μέσα στην βάση!

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

Τυχαία Κείμενα

Δημοσίευση από skeftomilos » 15 Φεβ 2005 05:51

Αντί για:

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

var ry=Math.floor&#40;Math.random&#40;&#41;*cont.length&#41;
if &#40;ry==0&#41;
ry=1 
... σωστότερο είναι:

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

var ry=Math.floor&#40;Math.random&#40;&#41;*cont.length&#41;+1
... ώστε να είναι δίκαια η κατανομή των πιθανοτήτων ανάμεσα στις επιλογές.

Θα προτείνω και μια άλλη πιθανή βελτίωση. Οι επαναλαμβανόμενες εντολές με αύξουσα αρίθμηση cont[1]=''; cont[2]=''; κ.λπ. δημιουργούν τον κίνδυνο προγραμματιστικού λάθους, ειδικά αν τα στοιχεία είναι πολλά. Μπορεί να χρησιμοποιηθεί η μέθοδος Array.push() π.χ.:

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

var cont=new Array&#40;&#41;
cont.push&#40;'Κείμενο...'&#41;
cont.push&#40;'Και άλλο κείμενο...'&#41;
cont.push&#40;'Λίγο ακόμη...'&#41;
cont.push&#40;'Θέλεις και άλλο;'&#41;
var ry=Math.floor&#40;Math.random&#40;&#41;*cont.length&#41;
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

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

Τυχαία Κείμενα

Δημοσίευση από Rapid-eraser » 15 Φεβ 2005 09:58

skeftomilos se paw giati skeftese programatistika :)
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

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

Τυχαία Κείμενα

Δημοσίευση από skeftomilos » 16 Φεβ 2005 10:55

Τώρα που ξαναδιαβάζω τον κώδικα, μου μοιάζει λίγο με πορνογράφημα! :oops: Παραθέτω μία σειρά εντολών Unix που βρήκα εδώ, ακατάλληλη για νέους-νέες κάτω των 18:

unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep :kaloe:
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Τυχαία Κείμενα

Δημοσίευση από ThyClub » 16 Φεβ 2005 11:30

:yea:

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Τυχαία Κείμενα

Δημοσίευση από Basilakis » 16 Φεβ 2005 16:49

Δεκτές οι αλαγές και πολύ καλές μάλιστα..!

Άβαταρ μέλους
PGOUDAMANIS
Δημοσιεύσεις: 94
Εγγραφή: 10 Μαρ 2004 20:25
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Τυχαία Κείμενα

Δημοσίευση από PGOUDAMANIS » 16 Φεβ 2005 20:51

Ένα πολύ μεγάλο :kaloe: ΜΠΡΑΒΟΟΟΟΟΟΟ :kaloe:
Ήταν ότι χρειαζόμουν και δεν ήξερα πως να το ζητήσω !!!!
Λές και διάβασες την σκέψη μου !!!!!!!!
Και για να είμαι ποιό σαφής ,έφτιαξα μια σελίδα στο club μου μέσα style Fun που επέτρεπε στον κάθε καλεσμένο οταν μπαίνει εκεί να του δίνει τα τυχερά του νούμερα στο ΤΖΟΚΕΡ φυσικά μέσω κάποιου script το οποίο "ψιλοεπεξεργάστηκα".
Δέν μπορούσα όμως να του δώσω τον αριθμό του ΤΖΟΚΕΡ...(το +1)και αναγκαζόμουν σχεδόν όλη την μέρα να αλλάζω αρχεία txt. για να υπάρχει διαφορετικότητα στον ΤΖΟΚΕΡ....Ειλικρινά με βοήθησες πάρα πολύ και οφείλω ένα ΜΕΓΑΛΟ ΕΥΧΑΡΙΣΤΩ ακόμη και στα παιδιά που βοήθησαν να γίνει καλύτερο...Αν θέλεις να το δείς http://guestbooks.pathfinder.gr/read/Tzoker

(Σημείωση:Κάποιες φορές περίπου 1 στις 20 βγάζει λάθος)

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

Τυχαία Κείμενα

Δημοσίευση από skeftomilos » 17 Φεβ 2005 17:33

Είδα τη σελίδα σου PGOUDAMANIS και βρήκα την αιτία του λάθους. Το παρακάτω script βγάζει λάθος κάθε φορά που η μεταβλητή ry παίρνει τιμή 20. Το Array έχει 20 στοιχεία αλλά ξεκινάει από το 0. Δηλαδή από cont[0] ως cont[19]. Αν αφαιρέσεις το +1 δε θα συμβαίνει ποτέ αυτό το λάθος.

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

<script language="JavaScript" type="text/JavaScript"> 
<!-- Random Message Script Created By 
//Basilakis http&#58;//www.webmastersportal.gr 

function randomize&#40;&#41;&#123; 
var cont=new Array&#40;&#41; 
//απο εδώ και κάτω βάζετε τις προτάσεις που θέλετε 
var cont=new Array&#40;&#41; 
cont.push&#40;'1'&#41; 
cont.push&#40;'2'&#41; 
cont.push&#40;'3'&#41; 
cont.push&#40;'4'&#41; 
cont.push&#40;'5'&#41; 
cont.push&#40;'6'&#41; 
cont.push&#40;'7'&#41; 
cont.push&#40;'8'&#41; 
cont.push&#40;'9'&#41; 
cont.push&#40;'10'&#41; 
cont.push&#40;'11'&#41; 
cont.push&#40;'12'&#41; 
cont.push&#40;'13'&#41; 
cont.push&#40;'14'&#41; 
cont.push&#40;'15'&#41; 
cont.push&#40;'16'&#41; 
cont.push&#40;'17'&#41; 
cont.push&#40;'18'&#41; 
cont.push&#40;'19'&#41; 
cont.push&#40;'20'&#41;
var ry=Math.floor&#40;Math.random&#40;&#41;*cont.length&#41;+1
document.write&#40;cont&#91;ry&#93;&#41; 
&#125; 
randomize&#40;&#41; 
</script>
Αλλά ... αν θέλεις απλά να εμφανίσεις ένα τυχαίο αριθμό από το 1 ως το 20 υπάρχει απλούστερος τρόπος! :P

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

<script type="text/javascript"> 
  document.write&#40;Math.floor&#40;Math.random&#40;&#41;*20&#41;+1&#41; 
</script>
Εδώ μην αφαιρέσεις το +1 γιατί χρειάζεται!
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
PGOUDAMANIS
Δημοσιεύσεις: 94
Εγγραφή: 10 Μαρ 2004 20:25
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Τυχαία Κείμενα

Δημοσίευση από PGOUDAMANIS » 17 Φεβ 2005 19:10

Ευχαριστώ πολύ skeftomilos :lol: δέν ήξερα ότι ήταν τόσο απλό. :kaloe:
Τώρα όμως ανακάλυψα κάτι άλλο που δεν μου άρεσε. :cry:
Το script που προείπα ότι το "ψιλοεπεξεργάστηκα" να δίνει τους 5 αριθμούς του ΤΖΟΚΕΡ κάποιες φορές κολλάει και δίνει π.χ το 10 δύο φορές και κάποιες φορές τα νούμερα δεν σταματούν καθόλου....Ερώτηση να το γράψω ως νέο θέμα σε άλλο topic η να συνεχίσω εδώ ??? Το ρωτάω αυτό γιατί τα παιδιά το κάναν βοηθημα. :oops:

Απάντηση

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

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

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