Avatar billede cr2000 Nybegynder
31. oktober 2003 - 12:54 Der er 6 kommentarer og
1 løsning

Scroller "genstarter" før teksten er kørt helt ud.

Jeg har dette lille script som jeg har fundet. Men der ligger en fejl i som gør at den starter forfra før teksten er kørt helt ud af skærmen.

Nogle der kan se fejlen?

<HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Original:  Ernst Straka (ernst.straka@central-europe.basf.org) -->
<!-- Web Site:  http://www.rs-systems.at/straka -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var l1 =  0; // left of ticker in pixel, or 0 to position relative
var t1 =  0; // top of ticker in pixel, or 0 to position relative
var w1 = 800; // width of ticker in pixel
var ie = document.all ? true : false;
var first = true;
var l2 = l1 + w1;
var l3 = l1 - l2;
var l = l2;
function tickinit() {
if (ie) {
if (l1 == 0 && t1 == 0) {
pos = document.all['tickpos'];
l1 = getLeft(pos);
t1 = getTop(pos);
}
ticktext.style.posTop = t1;
}
else {
if (l1 == 0 && t1 == 0) {
pos = document.anchors['tickpos'];
l1 = pos.x;
t1 = pos.y;
}
document.ticktext.pageY = t1;
}
l2 = l1 + w1;
l3 = l1 - l2;
l = l2;
setInterval('tick()', 10);
}
function getLeft(ll) {
if (ll.offsetParent)
return (ll.offsetLeft + getLeft(ll.offsetParent));
else
return (ll.offsetLeft);
}
function getTop(ll) {
if (ll.offsetParent)
return (ll.offsetTop + getTop(ll.offsetParent));
else
return (ll.offsetTop);
}
function tick() {
l = l - 0.5;
if (l < l3) l = l2;
cl = l1 - l;
cr = l2 - l;
if (ie) {
ticktext.style.posLeft = l;
ticktext.style.posTop = t1;
ticktext.style.clip = "rect(auto "+cr+"px auto "+cl+"px)";
if (first) ticktext.style.visibility = "visible";
}
else {
document.ticktext.pageX = l;
document.ticktext.clip.left = cl;
document.ticktext.clip.right = cr;
if (first) document.ticktext.visibility = "show";
}
first = false;
}
//  End -->
</script>
</HEAD>

<BODY OnLoad="tickinit()">


<a name="tickpos"> </a>
<div id="ticktext" style="position:absolute;font-family:arial;font-size:14pt;visibility:hidden;">
<nobr>Doesn't this message scroller look great?  You can even insert links like this: <a href="http://www.yahoo.com" target="_blank">yahoo.com</a>  Now it repeats.</nobr>
</div>
Avatar billede roenving Novice
01. november 2003 - 01:55 #1
Det er et spørgsmål om længden på teksten, hvis den er længere end bredden på tickeren, vil den starte forfra inden og hvis den er kortere vil der være et mellemrum uden ...

Du kan eksperimentere med denne linje:

var l3 = l1 - l2;

Træk den længde fra, som din tekst er længere, den aktuelle tekst passer ca. med 50:

var l3 = l1 - l2 - 50;

-- husk også at gøre det i linjen:

l3 = l1 - l2 - 50;

lidt længere nede '-)
Avatar billede cr2000 Nybegynder
01. november 2003 - 13:09 #2
Problemet er at den sætter teksten ind dymamisk og derfor ved jeg ikke hvor lang den er...
Avatar billede roenving Novice
02. november 2003 - 01:31 #3
Et IE-hack (jeg har ikke prøvet den på andre -- endnu !-)

var l3;

--og:

l3 = l1 - ticktext.scrollWidth;
Avatar billede roenving Novice
04. november 2003 - 00:43 #4
-- og tak for points ;~}
Avatar billede cr2000 Nybegynder
04. november 2003 - 11:20 #5
Det var så lidt...
Avatar billede cr2000 Nybegynder
05. november 2003 - 02:08 #6
Syntes ikke rigtigt jeg kan få det til at funke...
Avatar billede cr2000 Nybegynder
05. november 2003 - 02:17 #7
Jo... Nu fandt jeg ud af det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Senior Data Engineers til dataplatform i Forsvaret

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen