Αυτό JavaScript ο κώδικας θα μετακινήσει μια μονή συμβολοσειρά κειμένου που περιέχει οποιοδήποτε κείμενο που θα επιλέξετε μέσα από ένα οριζόντιο χώρο περιθωρίου χωρίς διαλείμματα. Κάνει αυτό προσθέτοντας ένα αντίγραφο της συμβολοσειράς κειμένου στην αρχή του κυλίνδρου αμέσως μόλις εξαφανιστεί από το τέλος του χώρου περιθωρίου. Το σενάριο αυτόματα υπολογίζει πόσα αντίγραφα του περιεχομένου που χρειάζεται για να δημιουργηθεί για να διασφαλιστεί ότι δεν θα ξεμείνει ποτέ από το κείμενο στο marquee σας.
Αυτό περιλαμβάνει τον κώδικα από τα παραδείγματα μου, ο οποίος προσθέτει δύο νέα αντικείμενα mq που περιέχουν τις πληροφορίες για το τι πρέπει να εμφανίζονται σε αυτές τις δύο μαρκες. Μπορείτε να διαγράψετε ένα από αυτά και να αλλάξετε το άλλο για να εμφανίσετε μια συνεχόμενη στοίβα στη σελίδα σας ή να επαναλάβετε αυτές τις δηλώσεις για να προσθέσετε ακόμα περισσότερες μαρκες. Η συνάρτηση mqRotate πρέπει να ονομάζεται μετάβαση mqr μετά την οριοθέτηση των περιθωρίων που θα χειρίζονται τις περιστροφές.
// Σειρά συνεχών κειμένων
// copyright 30 Σεπτεμβρίου 2009by Stephen Chapman
// http://javascript.about.com
// επιτρέπεται η χρήση αυτού του Javascript στην ιστοσελίδα σας
// με την προϋπόθεση ότι όλος ο κώδικας παρακάτω σε αυτό το σενάριο (συμπεριλαμβανομένων αυτών
// σχόλια) χρησιμοποιείται χωρίς καμία αλλαγή
συνάρτηση objWidth (obj) {if (obj.offsetWidth) επιστροφή obj.offsetWidth;
αν (obj.clip) επιστρέφει obj.clip.width; επιστροφή 0;} var mqr = []; λειτουργία
mq (id) {this.mqo = document.getElementById (id). var wid =
objWidth (αυτό.mqo.getElementsByTagName ('span') [0]) + 5; var fulwid =
objWidth (αυτό.mqo); var txt =
αυτό.mqo.getElementsByTagName ('span') [0] .innerHTML; αυτό.mqo.innerHTML
= ''; var heit = this.mqo.style.height; this.mqo.onmouseout = συνάρτηση ()
{mqRotate (mqr)}}. this.mqo.onmouseover = συνάρτηση ()
{clearTimeout (mqr [0] .TO),}. this.mqo.ary = []; var maxw =
Math.ceil (πλήρης / ευρεία) +1. για (var i = 0; i <
maxw; i ++) {this.mqo.ary [i] = document.createElement ('div');
αυτό το.mqo.ary [i] .innerHTML = txt; this.mqo.ary [i] .style.position =
'απόλυτος'; αυτό.mqo.ary [i] .style.left = (wid * i) + 'px';
αυτό.mqo.ary [i] .style.width = wid + 'px'; this.mqo.ary [i] .style.height =
heit; this.mqo.appendChild (αυτό το.mqo.ary [i]);} mqr.push (αυτό.mqo);}
συνάρτηση mqRotate (mqr) {if (! mqr) επιστροφή; για (var j = mqr.length - 1; j
> -1; j -) {maxa = mqr [j]. μήκος κύματος. για το (var i = 0; imqr [j] .ary [i] .style; x.left = (parseInt (x.left, 10) -1) + 'px';} var y =
mqr [j] .ary [0] στυλ. αν (parseInt (y.left, 10) + parseInt (y.width, 10) <0)
{var z = mqr [j] .ary.shift (); z.style.left = (parseInt (z.style.left) +
parseInt (z.style.width) * maxa) + 'px'; mqr [j] .ar.push (z) ·}}
mqr [0] .TO = setTimeout ('mqRotate (mqr)', 10) ·}
Το πραγματικό περιεχόμενο κειμένου για το marquee πηγαίνει μέσα στο div σε μια ετικέτα span. Το πλάτος της ετικέτας span είναι αυτό που θα χρησιμοποιηθεί ως το πλάτος κάθε επανάληψης του περιεχομένου της κλίμακας (συν 5 εικονοστοιχεία για να διαχωριστεί το ένα από το άλλο).
Τέλος, βεβαιωθείτε ότι ο κωδικός σας JavaScript για να προσθέσετε το αντικείμενο mq αφού τα φορτία σελίδας περιέχουν τις σωστές τιμές.
Για να προσθέσετε πρόσθετες ετικέτες, μπορείτε να ρυθμίσετε πρόσθετες διαιρέσεις στο HTML, δίνοντας σε κάθε το δικό του περιεχόμενο κειμένου μέσα σε μια κλίμακα. ρυθμίστε πρόσθετες τάξεις, εάν θέλετε να διαμορφώσετε διαφορετικά τα μαρκίζες. και προσθέστε όσες νέες δηλώσεις mq () καθώς έχετε marquees. Βεβαιωθείτε ότι η κλήση mqRotate () τις ακολουθεί για να λειτουργήσουν τα marquees για εμάς.