aus einem Entwurf aber funktionierend.
Es wird ein Item (siehe: ScrollItemTextAndURL) nach dem andern von unten eingescrollt, bleibt kurz stehn und dann kommt das nächste usw.
Quelle ist NICHT von mir, weiss aber nicht mehr woher.
HTML-Code:
<HTML><HEAD>
<TITLE>~~ Restaurant Unwichtig ~~</TITLE>
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
<link xxxrel=stylesheet type="text/css" href="unwichtig.css">
</HEAD>
<BODY style="background-image: url(unwichtigjpg);"
onresize="return ReloadPage()"
onload="return LaunchScroller()"
><DIV align=left
><br><table border=0 bordercolor=red cellspacing=0 cellpadding=0
width=550 height=420
><tr><td colspan=2 align=center valign=top
><b class="textxl" ><b>aus unserem Angebot</b><br
><br
><b class=textgr >Unser Speise-Angebot ist sehr umfangreich,<br
>vom einfachen Teller-Gericht<br
>bis zu Menues und Spezialitäten.<br
><br
>Hier finden Sie einen kleinen Einblick.</b
></td></tr
><tr><td width=50% align=right valign=bottom
> </td
><td align=right valign=bottom
><br
><a class="link" href=angebFisch.html
>Fisch</a><br><br
><a class="link" href=angebFleisch.html
>Fleisch</a><br><br
><a class="link" href=angebSalVorsp.html
>Salate & Vorspeisen</a><br><br
><a class="link" href=angebIssdichVegi.html
>Iss Dich schlank & Vegi</a><br><br
><a class="link" href=angebKleinKalt.html
>Kleines & kalte Teller</a><br><br
><a class="link" href=angebNachsp.html
>Desserts Glacen Kuchen</a><br
><br</td
></tr></table
></div>
</div>
</BODY></HTML>
<SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
<!--
var TheItemURL = 0
var TheItemText = 1
// HEIGHT, WIDTH, TOP POSITION AND LEFT POSITION OF THE SCROLLER
var ScrollerWidth = 135;
var ScrollerHeight = 135;
var ScrollerLeft = 200;
var ScrollerTop = 300;
// THE SPEED OF THE "STEPS" TAKEN BY THE SCROLLING ACTION
var ScrollStepSpeed = 25;
// THE SIZE OF THE "STEPS" TAKEN BY THE SCROLLING ACTION
var ScrollStepSize = 2;
// THE AMOUNT OF TIME TO DISPLAY EACH HYPERLINK IN THE SCROLLER
var DisplayInterval = 2500;
// AMOUNT OF "WHITESPACE" TO THE LEFT AND TO THE TOP OF EACH HYPERLINK...RELATIVE TO THE CORRESPONDING <DIV> OR
<LAYER> THAT HOLDS EACH HYPERLINK
var PaddingLeft = 1;
var PaddingTop = 1;
// HOW MANY TIMES WILL THE ENTIRE SET OF HYPERLINKS CYCLE THROUGH?
var ScrollCycleCount = 8;
// WHERE WILL THE NEW PAGE BE OPENED?
// FOR EXAMPLE, IF USING FRAMES, YOU MAY WANT TO SET OpenNewPageHere = ' TARGET="_top" '
var OpenNewPageHere = ''
// THE NAME OF THE DHTML STYLE CLASS THAT WILL BE APPLIED TO THE SCROLLING HYPERLINKS
var ClassStyleName = ' CLASS="headlines" '
// IS THE CURRENT BROWSER NETSCAPE NAVIGATOR OR INTERNET EXPLORER?
var NN4=(document.layers);
var IE4=(document.all);
// ANY ADDITIONAL INFORMATION THAT GOES IN FRONTOF THE HYPERLINK
// CAN GO HERE.
var LinkPrefix =' ';
// THE TEXT AND THE URL FOR EACH HYPERLINK SCROLL ITEM.
// THE TEXT AND THE URLs OF THE SAME INDEX RELATE TO ONE ANOTHER
// AND WILL BE COMBINED TO FORM HYPERLINKS
//
// NOTE: THE NUMBER OF ITEMS IN ScrollItemText MUST EQUAL
// THE NUMBER OF ITEMS IN ScrollItemURL
var ScrollItemURL = new Array()
var ScrollItemText = new Array()
// THE COMPLETE HYPERLINK THAT WILL BE USED IN THE SCROLLER
// EACH ELEMENT IS THE COMBINATION OF ScrollItemURL AND ScrollItemText
var ScrollItemTextAndURL=[];
ScrollItemText[0] ='<hr class=headlines size=1 width=100%>unsere<br>Tagesmenues<br><hr class=headlines size=1
width=100%>'
ScrollItemURL[0] ='#'
ScrollItemText[1] ='Menue 1 DM 27.00<hr class=headlines size=1 width=100%> Kalbpiccata Risotto Tagesgemüse'
ScrollItemURL[1] ='#'
ScrollItemText[2] ='Menue 2 DM 23.00<hr class=headlines size=1 width=100%> Hackbraten Teigwaren Tagesgemüse'
ScrollItemURL[2] ='#'
ScrollItemText[3] ='Menue 3 DM 18.00<hr class=headlines size=1 width=100%> Bratwürste Buamspitzerl Blattsalat'
ScrollItemURL[3] ='#'
ScrollItemText[4] ='Menue 4 DM 18.00<hr class=headlines size=1 width=100%> Seebarsch gebacken Salzkartoffeln Blattsalat'
ScrollItemURL[4] ='#'
// IS THE SCROLLER GOING TO CYCLE ONLY A FIXED NUMBER OF LOOPS?
var LoopingFixedNumberOfTimes = (ScrollCycleCount > 0);
// HOW MANY ITEMS ARE PART OF THE SCROLLING LIST?
var ScrollItemsCount = ScrollItemURL.length;
//-----------------------------------------------------------------
function LaunchScroller()
{
HyperlinkCount = 0;
if(ScrollItemsCount == 0)
return;
if(!window.ScrollItemURL)
return;
if(LoopingFixedNumberOfTimes)
loopCount=0;
for(i=0; i<ScrollItemsCount; i++)
{
ScrollItemTextAndURL[i] = [LinkPrefix+ScrollItemURL[i], ScrollItemText[i]];
}
if(NN4)
{
CreateItemContainersForNN();
}
else
{
CreateItemContainersForIE();
}
LoadHyperlinksIntoScroller();
SetItemVisibility(0, true);
CurrentItem=0;
timeoutID = setTimeout("ScrollControl()", DisplayInterval);
}
//-----------------------------------------------------------------
function ScrollItemContainer(i)
{
//-----------------------------------------------------------------
// RETURN A REFERENCE TO THE DIV OR LAYER CORRESPONDING TO THE
// NUMBER PASSED IN THROUGH i
//-----------------------------------------------------------------
ReferenceToItemContainer = eval("ContainerItem" + i + ((IE4)?".style":""));
return ReferenceToItemContainer
}
//-----------------------------------------------------------------
function SetItemVisibility(n, show)
{
//-----------------------------------------------------------------
// SHOW OR HIDE AN ITEM CONTAINER
//-----------------------------------------------------------------
var TheScrollItemContainer = ScrollItemContainer(n);
TheScrollItemContainer.visibility=(show)?"visible":"hidden";
}
function ScrollControl()
{
//-----------------------------------------------------------------
// CONTROL WHETHER OR NOT THE SCROLLER WILL CONTINUE TO SCROLL
//-----------------------------------------------------------------
var temp = CurrentItem;
CurrentItem = (temp == ScrollItemTextAndURL.length-1)?0:temp+1;
if(CurrentItem==1)
loopCount++;
if(LoopingFixedNumberOfTimes&&(loopCount>=ScrollCycleCount))
return;
StartScrollingHyperlinks(temp, CurrentItem);
}
function ScrollHyperlinks(){
//-----------------------------------------------------------------
// THIS FUNCTION ACTUALLY DOES THE SCROLLING
//-----------------------------------------------------------------
if(NN4)
{
ScrollItemContainerFrom.top-=ScrollStepSize;
if(ScrollItemContainerTo.top-ScrollStepSize<=ScrollItemContainerToTarget)
{
ScrollItemContainerTo.top=ScrollItemContainerToTarget;
clearInterval(intervalID);
ScrollItemContainerFrom.visibility="hidden";
timeoutID=setTimeout("ScrollControl()",DisplayInterval);
}
else
{
ScrollItemContainerTo.top-=ScrollStepSize;
}
}
else
{
ScrollItemContainerFrom.pixelTop-=ScrollStepSize;
if(ScrollItemContainerTo.pixelTop-ScrollStepSize<=ScrollItemContainerToTarget)
{
ScrollItemContainerTo.pixelTop=ScrollItemContainerToTarget;
clearInterval(intervalID);
ScrollItemContainerFrom.visibility="hidden";
timeoutID=setTimeout("ScrollControl()",DisplayInterval);
}
else
{
ScrollItemContainerTo.pixelTop-=ScrollStepSize;
}
}
}
function StartScrollingHyperlinks(ContainerItemFrom,ContainerItemTo){
//-----------------------------------------------------------------
// BEGIN THE PROCESS OF SCROLLING THE HYPERLINKS
//-----------------------------------------------------------------
ScrollItemContainerFrom = ScrollItemContainer(ContainerItemFrom);
ScrollItemContainerTo = ScrollItemContainer(ContainerItemTo);
if(NN4)
{
ScrollItemContainerTo.top = ScrollItemContainerFrom.top + ScrollerHeight;
ScrollItemContainerToTarget = ScrollItemContainerFrom.top;
}
else
{
ScrollItemContainerTo.pixelTop = ScrollItemContainerFrom.pixelTop + ScrollerHeight;
ScrollItemContainerToTarget = ScrollItemContainerFrom.pixelTop;
}
SetItemVisibility(ContainerItemTo,true);
intervalID = setInterval("ScrollHyperlinks()", ScrollStepSpeed);
}
function CreateItemContainersForIE(){
//-----------------------------------------------------------------
// CREATE MULTIPLE DIVs TO BE CONTAINERS FOR THE HYPERLINKS
//-----------------------------------------------------------------
var text='<DIV align=center ID="scroller" STYLE="position:absolute;overflow:hidden;top:'+ ScrollerTop
+';left:'+ ScrollerLeft +';width:'+ ScrollerWidth +';height:'+ ScrollerHeight +'">';
ItemTextWidth = ScrollerWidth-PaddingLeft;
for(var i=ScrollItemTextAndURL.length-1; i>=0; i--)
{
text += '<DIV align=center ID="ContainerItem'+i+'" STYLE="position:absolute;visibility:hidden;top:'+
PaddingTop +';left:'+ PaddingLeft +';width:'+ ItemTextWidth +'"></DIV>';
}
text += '</DIV>';
document.body.insertAdjacentHTML("BeforeEnd",text);
}
function CreateItemContainersForNN()
{
//-----------------------------------------------------------------
// CREATE NETSCAPE LAYERS TO BE CONTAINERS FOR THE HYPERLINKS
//-----------------------------------------------------------------
var scroller = new Layer(ScrollerWidth);
with(scroller)
{
clip.right=ScrollerWidth;
clip.bottom=ScrollerHeight;
moveTo(ScrollerLeft,ScrollerTop);
visibility="show";
}
for(var i=0; i<ScrollItemTextAndURL.length; i++)
{
eval("ContainerItem" + i + "=" + "new Layer(ScrollerWidth-PaddingLeft, scroller)");
with(eval("ContainerItem" + i))
{
moveTo(PaddingLeft, PaddingTop);
}
}
}
function LoadHyperlinksIntoScroller()
{
//-----------------------------------------------------------------
// EXTRACT THE TEXT TO BE DISPLAYED AND THE CORRESPONDING URLs
// FROM THE ARRAY AND BUILD HYPERLINKS. PUT ONE HYPERLINK INTO
// EACH LAYER (IF NS) OR DIV (IF IE).
//-----------------------------------------------------------------
var TheScrollItemContainer;
for(i=0; i<ScrollItemTextAndURL.length; i++)
{
TheScrollItemContainer = eval("ContainerItem"+i);
// BUILD THE HYPERLINK
newsStr = "<A " + OpenNewPageHere + ClassStyleName
newsStr += " HREF=" + ScrollItemTextAndURL[HyperlinkCount][TheItemURL] + ">"
newsStr += ScrollItemTextAndURL[HyperlinkCount][TheItemText] + "</A>";
if(NN4)
{
with(TheScrollItemContainer.document)
{
write(newsStr);
close();
}
}
else
{
TheScrollItemContainer.innerHTML = newsStr;
}
HyperlinkCount++;
if(HyperlinkCount == ScrollItemTextAndURL.length)
HyperlinkCount=0;
}
}
function ReloadPage()
{
//-----------------------------------------------------------------
// REFRESH/RELOAD THE PAGE
//-----------------------------------------------------------------
window.location.reload();
}
//-->
</SCRIPT>
Das ganze HTML drum rum ist nicht von Bedeutung