Přeblikávající text - jako u otočné reklamy -
zdrojový kód
<html>
<head>
<title>Java Script ze stránky - www.jaknaweb.com</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
</head>
<SCRIPT language=javascript>
<!--
var is_NN4 = document.layers;
var is_IE4 = document.all;
var messageHolderID = "";
var messageID = "roll";
var messageFlag = 0;
var messagePool = null;
var messagePoolLength = 0;
var messagePoolIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var messageTile = 0;
var messageTileIndex = 0;
var messageTileUnit = 0;
var messageTileOffset = 0;
var messageInterval = 0;
var messageDirection = 0;
var messageCurrentDirection = 3;
var messageTop = 0;
var messageRight = 1;
var messageBottom = 2;
var messageLeft = 3;
var messageTopBottom = 4;
var messageLeftRight = 5;
function messageInit() {
var layerID = "";
var layerString = "";
var layerClip = "";
var this_layer = null;
var this_string = "";
if (is_IE4) {
document.all[messageHolderID].style.width = messageWidth;
document.all[messageHolderID].style.height = messageHeight;
for (var l = 0; l <=1; l++)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + l + "" + i +"";
if (messageCurrentDirection == messageLeft)
layerClip = "clip:rect(0px " + ((i + 1) * messageTileUnit) + "px " + messageHeight + "px " + (i * messageTileUnit) + "px); "
else
layerClip = "clip:rect(" + (i * messageTileUnit) + "px " + messageWidth + "px " + ((i + 1) * messageTileUnit) + "px 0px); ";
layerString = '<div id="' + layerID + '" style="position:absolute; left:0; top:0; width:' + messageWidth + '; height:' + messageHeight + '; ' + layerClip + 'visibility:hidden; z-index:2;"><\/div>';
document.all[messageHolderID].insertAdjacentHTML("BeforeEnd", layerString);
document.all[layerID].offset = 0;
}
}
else {
this_string = "<table width=" + messageWidth + " height=" + messageHeight + " border=0 cellpadding=0 cellspacing=0><tr><td><font size=1> </font></td></tr></table>";
document.layers[messageHolderID].document.open();
document.layers[messageHolderID].document.writeln(this_string);
document.layers[messageHolderID].document.close();
for (var l = 0; l <=1; l++)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + l + "" + i +"";
document.layers[layerID] = new Layer(messageWidth, document.layers[messageHolderID]);
this_layer = document.layers[layerID];
this_layer.height = messageHeight;
if (messageCurrentDirection == messageLeft) {
this_layer.clip.top = 0;
this_layer.clip.right = (i + 1) * messageTileUnit;
this_layer.clip.bottom = messageHeight;
this_layer.clip.left = i * messageTileUnit;
}
else {
this_layer.clip.top = i * messageTileUnit;
this_layer.clip.right = messageWidth;
this_layer.clip.bottom = (i + 1) * messageTileUnit;
this_layer.clip.left = 0;
}
this_layer.visibility = "hidden";
this_layer.zIndex = 2;
this_layer.offset = 0;
}
}
}
function messageShow() {
var layerID = "";
var this_layer = null
if (is_IE4)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageFlag + "" + i + "";
document.all[layerID].innerHTML = messagePool[messagePoolIndex];
document.all[layerID].style.visibility = "visible";
}
else
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageFlag + "" + i + "";
this_layer = document.layers[layerID];
this_layer.document.open();
this_layer.document.writeln(messagePool[messagePoolIndex]);
this_layer.document.close();
this_layer.visibility = "show";
}
}
function messageRollLeft() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;
messageTileOffset++;
for (var i = messageTileIndex; i < messageTile; i++) {
ii = i + 1;
layerIDIn = messageID + messageIn + "" + i + "";
layerIDOut = messageID + messageOut + "" + i + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(0px " + (ii * messageTileUnit) + "px " + messageHeight + "px " + (ii * messageTileUnit - layerOffset) + "px)";
layerClipOut = "rect(0px " + (ii * messageTileUnit - layerOffset) + "px " + messageHeight + "px " + (i * messageTileUnit) + "px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelLeft = layerOffset - messageTileUnit;
document.all[layerIDOut].style.pixelLeft = layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.left--;
document.layers[layerIDIn].left++;
document.layers[layerIDOut].clip.right--;
document.layers[layerIDOut].left++;
}
if (layerOffset == messageTileUnit)
TileDone = true;
messageTileCount++;
if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex++;
break;
}
if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}
if (!loopBreak && TileDone)
messageTileIndex++;
if (messageTileIndex < messageTile)
setTimeout("messageRollLeft()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildLeftRight();
}
}
function messageRollRight() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;
messageTileOffset++;
for (var i = messageTileIndex; i > 0; i--) {
ii = i - 1;
layerIDIn = messageID + messageIn + "" + ii + "";
layerIDOut = messageID + messageOut + "" + ii + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(0px " + (ii * messageTileUnit + layerOffset) + "px " + messageHeight + "px " + (ii * messageTileUnit) + "px)";
layerClipOut = "rect(0px " + (i * messageTileUnit) + "px " + messageHeight + "px " + (ii * messageTileUnit + layerOffset) + "px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelLeft = messageTileUnit - layerOffset;
document.all[layerIDOut].style.pixelLeft = -layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.right++;
document.layers[layerIDIn].left--;
document.layers[layerIDOut].clip.left++;
document.layers[layerIDOut].left--;
}
if (layerOffset == messageTileUnit)
TileDone = true;
messageTileCount++;
if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex--;
break;
}
if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}
if (!loopBreak && TileDone)
messageTileIndex--;
if (messageTileIndex > 0)
setTimeout("messageRollRight()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildLeftRight();
}
}
function messageBuildLeftRight() {
var messageIn = 1 - messageFlag;
var layerID = "";
var layerClip = "";
var this_layer = null;
messagePoolIndex = (++messagePoolIndex < messagePoolLength)?messagePoolIndex:0;
if (is_IE4)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
document.all[layerID].style.visibility = "hidden";
if (messageCurrentDirection == messageLeft) {
layerClip = "rect(0px " + ((i + 1) * messageTileUnit) + "px " + messageHeight + "px " + ((i + 1) * messageTileUnit) + "px)";
document.all[layerID].style.pixelLeft = -messageTileUnit;
}
else {
layerClip = "rect(0px " + (i * messageTileUnit) + "px " + messageHeight + "px " + (i * messageTileUnit) + "px)";
document.all[layerID].style.pixelLeft = messageTileUnit;
}
document.all[layerID].style.clip = layerClip;
document.all[layerID].innerHTML = messagePool[messagePoolIndex];
document.all[layerID].style.visibility = "visible";
document.all[layerID].offset = messageTileUnit;
}
else
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
this_layer = document.layers[layerID];
this_layer.visibility = "hidden";
if (messageCurrentDirection == messageLeft) {
this_layer.clip.top = 0;
this_layer.clip.right = (i + 1) * messageTileUnit;
this_layer.clip.bottom = messageHeight;
this_layer.clip.left = (i + 1) * messageTileUnit;
this_layer.left = -messageTileUnit;
}
else {
this_layer.clip.top = 0;
this_layer.clip.right = i * messageTileUnit;
this_layer.clip.bottom = messageHeight;
this_layer.clip.left = i * messageTileUnit;
this_layer.left = messageTileUnit;
}
this_layer.document.open();
this_layer.document.writeln(messagePool[messagePoolIndex]);
this_layer.document.close();
this_layer.visibility = "show";
this_layer.offset = messageTileUnit;
}
messageTileOffset = 0;
if (messageCurrentDirection == messageLeft) {
messageTileIndex = 0;
setTimeout("messageRollLeft()", messageInterval);
if (messageDirection == messageLeftRight)
messageCurrentDirection = messageRight;
}
else {
messageTileIndex = messageTile;
setTimeout("messageRollRight()", messageInterval);
if (messageDirection == messageLeftRight)
messageCurrentDirection = messageLeft;
}
}
function messageRollTop() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;
messageTileOffset++;
for (var i = messageTileIndex; i < messageTile; i++) {
ii = i + 1;
layerIDIn = messageID + messageIn + "" + i + "";
layerIDOut = messageID + messageOut + "" + i + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(" + (ii * messageTileUnit - layerOffset) + "px " + messageWidth + "px " + (ii * messageTileUnit) + "px 0px)";
layerClipOut = "rect(" + (i * messageTileUnit) + "px " + messageWidth + "px " + (ii * messageTileUnit - layerOffset) + "px 0px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelTop = layerOffset - messageTileUnit;
document.all[layerIDOut].style.pixelTop = layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.top--;
document.layers[layerIDIn].top++;
document.layers[layerIDOut].clip.bottom--;
document.layers[layerIDOut].top++;
}
if (layerOffset == messageTileUnit)
TileDone = true;
messageTileCount++;
if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex++;
break;
}
if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}
if (!loopBreak && TileDone)
messageTileIndex++;
if (messageTileIndex < messageTile)
setTimeout("messageRollTop()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildTopBottom();
}
}
function messageRollBottom() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;
messageTileOffset++;
for (var i = messageTileIndex; i > 0; i--) {
ii = i - 1;
layerIDIn = messageID + messageIn + "" + ii + "";
layerIDOut = messageID + messageOut + "" + ii + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(" + (ii * messageTileUnit) + "px " + messageWidth + "px " + (ii * messageTileUnit + layerOffset) + "px 0px)";
layerClipOut = "rect(" + (ii * messageTileUnit + layerOffset) + "px " + messageWidth + "px " + (i * messageTileUnit) + "px 0px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelTop = messageTileUnit - layerOffset;
document.all[layerIDOut].style.pixelTop = -layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.bottom++;
document.layers[layerIDIn].top--;
document.layers[layerIDOut].clip.top++;
document.layers[layerIDOut].top--;
}
if (layerOffset == messageTileUnit)
TileDone = true;
messageTileCount++;
if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex--;
break;
}
if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}
if (!loopBreak && TileDone)
messageTileIndex--;
if (messageTileIndex > 0)
setTimeout("messageRollBottom()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildTopBottom();
}
}
function messageBuildTopBottom() {
var messageIn = 1 - messageFlag;
var layerID = "";
var layerClip = "";
var this_layer = null;
messagePoolIndex = (++messagePoolIndex < messagePoolLength)?messagePoolIndex:0;
if (is_IE4)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
document.all[layerID].style.visibility = "hidden";
if (messageCurrentDirection == messageTop) {
layerClip = "rect(" + ((i + 1) * messageTileUnit) + "px " + messageWidth + "px " + ((i + 1) * messageTileUnit) + "px 0px)";
document.all[layerID].style.pixelTop = -messageTileUnit;
}
else {
layerClip = "rect(" + (i * messageTileUnit) + "px " + messageWidth + "px " + (i * messageTileUnit) + "px 0px)";
document.all[layerID].style.pixelTop = messageTileUnit;
}
document.all[layerID].style.clip = layerClip;
document.all[layerID].innerHTML = messagePool[messagePoolIndex];
document.all[layerID].style.visibility = "visible";
document.all[layerID].offset = messageTileUnit;
}
else
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
this_layer = document.layers[layerID];
this_layer.visibility = "hidden";
if (messageCurrentDirection == messageTop) {
this_layer.clip.top = (i + 1) * messageTileUnit;
this_layer.clip.right = messageWidth;
this_layer.clip.bottom = (i + 1) * messageTileUnit;
this_layer.clip.left = 0;
this_layer.top = -messageTileUnit;
}
else {
this_layer.clip.top = i * messageTileUnit;
this_layer.clip.right = messageWidth;
this_layer.clip.bottom = i * messageTileUnit;
this_layer.clip.left = 0;
this_layer.top = messageTileUnit;
}
this_layer.document.open();
this_layer.document.writeln(messagePool[messagePoolIndex]);
this_layer.document.close();
this_layer.visibility = "show";
this_layer.offset = messageTileUnit;
}
messageTileOffset = 0;
if (messageCurrentDirection == messageTop) {
messageTileIndex = 0;
setTimeout("messageRollTop()", messageInterval);
if (messageDirection == messageTopBottom)
messageCurrentDirection = messageBottom;
}
else {
messageTileIndex = messageTile;
setTimeout("messageRollBottom()", messageInterval);
if (messageDirection == messageTopBottom)
messageCurrentDirection = messageTop;
}
}
function messageBoard(msgID, msgPool, msgDirection, msgWidth, msgHeight, msgTile, msgInterval) {
if (is_IE4 || is_NN4) {
messageHolderID = msgID;
messagePool = msgPool;
messagePoolLength = messagePool.length;
messageDirection = msgDirection;
messageCurrentDirection = messageDirection
if (messageDirection == messageTopBottom)
messageCurrentDirection = messageTop;
if (messageDirection == messageLeftRight)
messageCurrentDirection = messageLeft;
messageWidth = msgWidth;
messageHeight = msgHeight;
messageTile = msgTile;
if (messageCurrentDirection == messageLeft || messageCurrentDirection == messageRight)
messageTileUnit = Math.floor(msgWidth/msgTile)
else
messageTileUnit = Math.floor(msgHeight/msgTile);
messageInterval = msgInterval * 1000;
messageInit();
messageShow();
if (messageCurrentDirection == messageLeft || messageCurrentDirection == messageRight)
messageBuildLeftRight()
else
messageBuildTopBottom();
}
}
// A sample message
var myMessage = new Array();
myMessage[0] = '<table bgcolor=#000000 align=center cellpadding=0 cellspacing=0 border=0 width=320 height=40><tr align=center valign=middle><td><b><font face=verdana size=3 color=#FFFFFF>Vše pro tvorbu</font></b></td></tr></table>';
myMessage[1] = '<table bgcolor=#FFFFFF align=center cellpadding=0 cellspacing=0 border=0 width=320 height=40><tr align=center valign=middle><td><b><font face=timers size=3 color=#000000>WWW </font></b></td></tr></table>';
myMessage[2] = '<table bgcolor=#000000 align=center cellpadding=0 cellspacing=0 border=0 width=320 height=40><tr align=center valign=middle><td><b><font face=helvetica size=2 color=#FFFFFF>Naleznete<br>ZDE</font></b></td></tr></table>';
myMessage[3] = '<table bgcolor=#FFFFFF align=center cellpadding=0 cellspacing=0 border=0 width=320 height=40><tr align=center valign=middle><td><i><font face=arial size=3 color=#000000>Pro Vaše WWW stránky si upravte text !</font></i></td></tr></table>';
myMessage[4] = '<table bgcolor=#000000 align=center cellpadding=0 cellspacing=0 border=0 width=320 height=40><tr align=center valign=middle><td><b><font face=impact size=3 color=#FFFFFF>Tady bude text</font></b></td></tr></table>';
myMessage[5] = '<table bgcolor=#FFFFFF align=center cellpadding=0 cellspacing=0 border=0 width=320 height=40><tr align=center valign=middle><td><b><font face=helvetica size=2 color=#000000>tady<br>taky bude text</font></b></td></tr></table>';
//-->
</SCRIPT>
<BODY onload="messageBoard('myMessageBoard', myMessage, 5, 320, 40, 20, 3);">
<TABLE height=44 cellSpacing=0 cellPadding=0 width=324 align=center border=1>
<TBODY>
<TR vAlign=top align=middle>
<TD>
<DIV id=myMessageBoard
style="Z-INDEX: 1; LEFT: 0px; VISIBILITY: visible; POSITION: relative; TOP: 0px"></DIV></TD></TR></TBODY></TABLE><BR
clear=all><BR>
</div>
</BODY></HTML>