Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Javascript Typewriter Ticker

Reply
Thread Tools

Javascript Typewriter Ticker

 
 
Dan
Guest
Posts: n/a
 
      03-12-2005
Hi

Does anyone know of a good Javascript typewriter ticker that allows
you to insert HTML into the ticker. I have found lots but when HTML is
inserted, the ticker pauses at the point it reaches the HTML as well
as applying the formatting. I need one whose character timer ignores
characters in tags. I need to apply font color and weight styling to
different words.

Please see www.launchpr.co.uk for how the ticker currently looks in
Flash - it needs to be replaced with HTML/JavaScript which produces
the same effect.

Thanks in advance

Dan
 
Reply With Quote
 
 
 
 
Evertjan.
Guest
Posts: n/a
 
      03-12-2005
Dan wrote on 12 mrt 2005 in comp.lang.javascript:

> Does anyone know of a good Javascript typewriter ticker that allows
> you to insert HTML into the ticker. I have found lots but when HTML is
> inserted, the ticker pauses at the point it reaches the HTML as well
> as applying the formatting. I need one whose character timer ignores
> characters in tags. I need to apply font color and weight styling to
> different words.
>


This is not that easy.

I suppose you want to innerHTML:

text = 'Hello <span style="color:red;">world</span>!'

as:

H
He
Hel
Hell
Hello
Hello
Hello <span style="color:red;">w</span>
Hello <span style="color:red;">wo</span>
Hello <span style="color:red;">wor</span>
Hello <span style="color:red;">worl</span>
Hello <span style="color:red;">world</span>
Hello <span style="color:red;">world</span>!

If also other HTML is inserted,
you will need a parser the size of the jscript engine, I suppose.

--
Evertjan.
The Netherlands.
(Replace all crosses with dots in my emailaddress)

 
Reply With Quote
 
 
 
 
RobB
Guest
Posts: n/a
 
      03-12-2005
Dan wrote:
> Hi
>
> Does anyone know of a good Javascript typewriter ticker that allows
> you to insert HTML into the ticker. I have found lots but when HTML

is
> inserted, the ticker pauses at the point it reaches the HTML as well
> as applying the formatting. I need one whose character timer ignores
> characters in tags. I need to apply font color and weight styling to
> different words.
>
> Please see www.launchpr.co.uk for how the ticker currently looks in
> Flash - it needs to be replaced with HTML/JavaScript which produces
> the same effect.
>
> Thanks in advance
>
> Dan


Better agenda:

#:=( DHTML ----------> Flash #:=)

It's easy to write this; the problem isn't passing the tags whole into
the 'stream' (easy to do with a RegExp or while loop), but - as
everyone who has attempted this seems to discover - replacing innerHTML
repeatedly in mozilla/gecko browsers causes an unacceptable flicker. IE
is smooth as silk. googled for some alternatives and they all exhibit
the same degree of suckage. Couldn't work around it, or find a bugzilla
track. Still playing around tho...

 
Reply With Quote
 
RobB
Guest
Posts: n/a
 
      03-12-2005
Dan wrote:
> Hi
>
> Does anyone know of a good Javascript typewriter ticker that allows
> you to insert HTML into the ticker. I have found lots but when HTML

is
> inserted, the ticker pauses at the point it reaches the HTML as well
> as applying the formatting. I need one whose character timer ignores
> characters in tags. I need to apply font color and weight styling to
> different words.
>
> Please see www.launchpr.co.uk for how the ticker currently looks in
> Flash - it needs to be replaced with HTML/JavaScript which produces
> the same effect.
>
> Thanks in advance
>
> Dan


OK, try this:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/str****ict.dtd">
<html>
<head>
<title>untitled</title>
<style type="text/css">

body {
margin: 40px;
}
#typeSource {
display: none;
}
#typeWindow {
width: 635px;
font: bold 11px arial, tahoma, sans-serif;
color: #666;
border-top: 3px #eee solid;
border-bottom: 3px #eee solid;
}
..logoblk {
color: #000;
}
..logored {
color: #b00;
}
..cursorChar {
text-decoration: underline;
font-weight: bold;
color: #000;
}

</style>
<script type="text/javascript">

window.onload = function()
{
var startDelay = 2;
setTimeout(
'initTypewriter("typeSource", 40);',
startDelay * 1000);
}

</script>
<script type="text/javascript" src="typewriter.js">
</script>
</head>
<body>
<div id="typeWindow">&amp;nbsp;</div>
<div id="typeSource">
2005 so far...<br>
Ford appoints
<span class="logoblk">LAUNCH</span><span class="logored">PR</span>
for 6 month campaign to launch the all-new Ford Focus. Tesco hires
<span class="logoblk">LAUNCH</span><span class="logored">PR</span>
for Race<br>for Life and Computers for Schools campaigns, following
a hugely successful 2004 together.
<span class="logoblk">LAUNCH</span><span class="logored">PR</span>
gets in the<br>Irish spirit for Jameson Irish Whiskey.
Universal Pictures Video and The Sugar Bureau re-appoint agency for
2005<br>lifestyle campaigns.
<span class="logoblk">LAUNCH</span><span class="logored">PR</span>
supports official DEC Tsunami Earthquake appeal by donating agency time
to<br>fundraising campaign.
</div>
</body>
</html>

[typewriter.js]

var sourceObj = null;
var typeWindow = null;
var message = '';
var typedPortion = '';
var cursorChar = '';
var cursorHTML = '<span class="cursorChar">@</span>';
var workHTML = '';

function initTypewriter(sourceId, newSpeed)
{
sourceObj = document.getElementById(sourceId);
typeWindow = document.getElementById('typeWindow');
typeWindow.innerHTML = '';
message = sourceObj.innerHTML;
msgLength = message.length;
HTMLstr = '';
workChar = '';
count = 0;
speed = newSpeed;
typing = setInterval('typeText();', speed);
}

function typeText()
{
if (count == msgLength)
{
clearInterval(typing);
return;
}
else if (count == 0)
typedPortion = '';
else
typedPortion = message.substring(0, count)
cursorChar = message.charAt(count);
if (/</.test(cursorChar))
{
var tag = message.substring(count).match(/<\/?[^>]+>/);
if (tag)
{
typedPortion += tag[0];
count += tag[0].length;
}
}
else
{
workHTML = '';
workHTML += typedPortion;
if (count != msgLength - 1)
workHTML += cursorHTML.replace(/@/, cursorChar);
typeWindow.innerHTML = workHTML;
count++;
}
}

Thanks to Peter Bailey (http://www.peterbailey.net) for his code, which
I lifted and sifted. Needs some work, but seems to be on the right
track. Shop it around to some different browsers if you get the chance.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Search Manual for Olympia Texstar Wp Typewriter Thierryd75 Computer Support 0 08-02-2010 07:10 AM
Search Manual for Canon Starwriter 350C Typewriter Thierryd75 Computer Support 0 08-02-2010 07:08 AM
Javascript ticker forces marquee outside box Isaac Grover HTML 7 01-08-2008 09:41 PM
Adjusting typewriter scroller script mistral Javascript 9 03-24-2007 10:15 AM
Reading an old floppy disk created with a brother typewriter mleroy@chez.com Computer Information 2 11-15-2005 03:39 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57