Šis JavaScript kods pārvietos vienu teksta virkni, kas satur jebkuru jūsu izvēlētu tekstu, pa horizontālu telts vietu bez pārtraukumiem. Tas tiek darīts, pievienojot teksta virknes kopiju ritināšanas sākumam, tiklīdz tā pazūd no telts vietas beigām. Skripts automātiski noskaidro, cik daudz satura kopiju tas ir jāizveido, lai nodrošinātu, ka jūsu telts tekstā nekad neiztrūkst teksta.
Tas ietver kodu no maniem piemēriem, kas pievieno divus jaunus mq objektus, kas satur informāciju par to, ko attēlot šajos divos marķīšos. Varat izdzēst vienu no tām un mainīt otru, lai lapā parādītu vienu nepārtrauktu pasākumu, vai atkārtot šos paziņojumus, lai pievienotu vēl vairāk pasākumu. Pēc tam, kad marķējumi ir definēti kā tādi, kas darbosies ar rotācijām, funkcija mqRotate ir jāsauc par ietošo mqr.
// Nepārtraukta teksta telts
// autortiesības Stefans Čepmens, 2009. gada 30. septembris
// http://javascript.about.com
// tiek piešķirta atļauja izmantot šo Javascript savā tīmekļa lapā
// ar nosacījumu, ka viss kods zem šī skripta (ieskaitot šo)
// komentāri) tiek izmantots bez izmaiņām
funkcija objWidth (obj) {if (obj.offsetWidth) return obj.offsetWidth;
if (obj.clip) atgriezt obj.clip.width; atgriezt 0;} var mqr = []; funkcija
mq (id) {this.mqo = document.getElementById (id); var wid =
objWidth (this.mqo.getElementsByTagName ('span') [0]) + 5; var fulwid =
objWidth (this.mqo); var txt =
this.mqo.getElementsByTagName ('span') [0] .innerHTML; this.mqo.innerHTML
= ''; var heit = this.mqo.style.height; this.mqo.onmouseout = function ()
{mqRotate (mqr);}; this.mqo.onmouseover = function ()
{clearTimeout (mqr [0] .TO);}; this.mqo.ary = []; var maxw =
Math.ceil (fulwid / wid) +1; par (var i = 0; i <
maxw; i ++) {this.mqo.ary [i] = document.createElement ('div');
this.mqo.ary [i] .innerHTML = txt; this.mqo.ary [i] .style.position =
'absolūts'; this.mqo.ary [i] .style.left = (wid * i) + 'px';
this.mqo.ary [i] .style.width = wid + 'px'; this.mqo.ary [i] .style.height =
heit; this.mqo.appendChild (this.mqo.ary [i]);} mqr.push (this.mqo);}
funkcija mqRotate (mqr) {if (! mqr) return; for (var j = mqr.length - 1; j
> -1; j--) {maxa = mqr [j] .ar.garumu; for (var i = 0; imqr [j] .ar [i] .style; x.left = (parseInt (x.left, 10) -1) + 'px';} var y =
mqr [j] .ar [0] .style; if (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] .ary.push (z);}}
mqr [0] .TO = setTimeout ('mqRotate (mqr)', 10);}
Faktiskais telts teksts satur div tabulas tagu. Atsauces birkas platums ir tas, kas tiks izmantots kā katras telts vietas atkārtojuma platums (plus 5 pikseļi tikai, lai tos novietotu viens no otra).
Visbeidzot pārliecinieties, vai jūsu JavaScript kodā, lai pievienotu mq objektu pēc lapas ielādes, ir pareizās vērtības.
Lai pievienotu papildu pasākumus, HTML var iestatīt papildu dalījumus, katram teksta saturam piešķirot atstarpi; izveidojiet papildu nodarbības, ja vēlaties stilistiski marķēt atšķirīgi; un pievienojiet tik daudz jaunu mq () paziņojumu, cik jums ir marķīzi. Pārliecinieties, ka mqRotate () izsaukums seko viņiem, lai darbinātu marķīzi mūsu labā.