[스크립트]
<body OnLoad="StartHeadliner()">
<SCRIPT LANGUAGE="JavaScript">
<!-- This script and many more are available online from -->
<!-- The JavaScript Source!! http://javascriptsource.com -->
<!-- Original: Jan Pijnacker <Jan_P@dds.nl> -->
<!-- Website : http://www.piaster.nl/perspicacity/js/headliner -->
<!-- Begin
typeWriterWait=120 // Typewriter delay
blinkTextWait=1000 // Blinking delay
blinkSpacesWait=300 // Blinking 'blank-spaces' delay
blinkMax=3 // how many times to blink
expandWait=100 // expanding headliner delay
scrollWait=90 // scrolling headliner delay
scrollWidth=34 // characters in scroll display
randomLines=false // randomly choose lines? (true or false)
lineMax=8 // how many lines you have
lines=new Array(lineMax)
// Use this format for all the lines below:
// (display text, url or mailto, frame name, effect, delay time)
lines[1]=new Line("The JavaScript Headliner!", "http://www.piaster.nl/perspicacity/js/headliner", "", Blink, 500)
lines[2]=new Line("This is a great JavaScript example - appropriately named ' The JavaScript Headliner ' !", "", "", Scroll, 100)
lines[3]=new Line("Wouldn't this be good on your site?", "http://www.howpc.com/", "", Static, 3500)
lines[4]=new Line("Many ways to present information....", "", "", Expand, 2000)
lines[5]=new Line("Each message can even take the visitor to different a URL when clicked !", "", "", Scroll, 3000)
lines[6]=new Line("Click now to email the author", "mailto:Jan_P@dds.nl?subject=The Headliner", "", TypeWriter, 1500)
lines[7]=new Line("Or click now to visit her website", "http://www.piaster.nl/perspicacity/js/headliner", "", TypeWriter, 2500)
lines[8]=new Line("Or here to go back to Messages", "http://messages.javascriptsource.com", "", Static, 3500)
// Don't change these variables below :-)
lineText=""
timerID=null
timerRunning=false
spaces=""
charNo=0
charMax=0
charMiddle=0
lineNo=0
lineWait=0
// ************************************************************
// The functions to get things going
// ************************************************************
// Define a line object
function Line(text, url, frame, type, wait) {
this.text=text
this.url=url
this.frame=frame
this.Display=type
this.wait=wait
}
// Fill a string with n chars c
function StringFill(c, n) {
var s=""
while (--n >= 0) {
s+=c
}
return s
}
// Returns a integer number between 1 and max that differs from the old one
function getNewRandomInteger(oldnumber, max)
{
var n=Math.floor(Math.random() * (max - 1) + 1)
if (n >= oldnumber) {
n++
}
return n
}
// Returns a integer number between 1 and max
function getRandomInteger(max)
{
var n=Math.floor(Math.random() * max + 1)
return n
}
// Jump to the specified url in the specified frame
function GotoUrl(url, frame) {
if (frame != '') {
if (frame == 'self') self.location.href=url
else if (frame == 'parent') parent.location.href=url
else if (frame == 'top') top.location.href=url
else {
s=eval(top.frames[frame])
if (s != null) top.eval(frame).location.href=url
else window.open(url, frame, "toolbar=yes,status=yes,scrollbars=yes")
}
}
else window.location.href=url
}
function Static() {
document.formDisplay.buttonFace.value=this.text
timerID=setTimeout("ShowNextLine()", this.wait)
}
function TypeWriter() {
lineText=this.text
lineWait=this.wait
charMax=lineText.length
spaces=StringFill(" ", charMax)
TextTypeWriter()
}
function TextTypeWriter() {
if (charNo <= charMax) {
document.formDisplay.buttonFace.value=lineText.substring(0, charNo)+spaces.substring(0, charMax-charNo)
charNo++
timerID=setTimeout("TextTypeWriter()", typeWriterWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function Blink() {
lineText=this.text
charMax=lineText.length
spaces=StringFill(" ", charMax)
lineWait=this.wait
TextBlink()
}
function TextBlink() {
if (charNo <= blinkMax * 2) {
if ((charNo % 2) == 1) {
document.formDisplay.buttonFace.value=lineText
blinkWait=blinkTextWait
}
else {
document.formDisplay.buttonFace.value=spaces
blinkWait=blinkSpacesWait
}
charNo++
timerID=setTimeout("TextBlink()", blinkWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function Expand() {
lineText=this.text
charMax=lineText.length
charMiddle=Math.round(charMax / 2)
lineWait=this.wait
TextExpand()
}
function TextExpand() {
if (charNo <= charMiddle) {
document.formDisplay.buttonFace.value=lineText.substring(charMiddle - charNo, charMiddle + charNo)
charNo++
timerID=setTimeout("TextExpand()", expandWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function Scroll() {
spaces=StringFill(" ", scrollWidth)
lineText=spaces+this.text
charMax=lineText.length
lineText+=spaces
lineWait=this.wait
TextScroll()
}
function TextScroll() {
if (charNo <= charMax) {
document.formDisplay.buttonFace.value=lineText.substring(charNo, scrollWidth+charNo)
charNo++
timerID=setTimeout("TextScroll()", scrollWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function StartHeadliner() {
StopHeadliner()
timerID=setTimeout("ShowNextLine()", 2000)
timerRunning=true
}
function StopHeadliner() {
if (timerRunning) {
clearTimeout(timerID)
timerRunning=false
}
}
function ShowNextLine() {
if (randomLines) lineNo=getNewRandomInteger(lineNo, lineMax)
else (lineNo < lineMax) ? lineNo++ : lineNo=1
lines[lineNo].Display()
}
function LineClick(lineNo) {
document.formDisplay.buttonFace.blur()
if (lineNo > 0) GotoUrl(lines[lineNo].url, lines[lineNo].frame)
}
// Do not change the name of the form or the button!
with (document) {
write('<center><form name="formDisplay"><input class="stHeadliner" type="button"')
write('name="buttonFace" value="The Perspicacity Headliner"')
write('onClick="LineClick(lineNo)"></input></form></center>')
}
// End -->
</SCRIPT>