Menu wysuwane


Po kliknięciu nastąpi powrót do strony głównej skryptów.

       Oryginalne menu, do którego budowy można użyć zarówno grafiki, jak i zwykłego tekstu opisującego poszczególne pozycje. Menu wysuwa się spoza ekranu w momencie kliknięcia na obiekt inicjujący, który w poniższym przypadku stanowi grafika obrazująca samolocik, ale może być to równie dobrze dowolna inna, albo napis, np. MENU. Ciekawe menu – polecam wszystkim. Uwaga! Trzeba bardzo precyzyjnie dopasować w konfiguracji wywołania menu wielkość width, gdyż obiekt inicjujący menu pozostanie niewidoczny, albo zbyt daleko wysunięty poza krawędź ekranu. Menu ma tą interesującą cechę, że zachowuje swoją pozycję mimo przesuwania strony, a więc może służyć jako doskonałe menu nawigacyjne.










Do zamieszczenia w ramach HEAD:

<script>
/********************************************************************************
Copyright (C) 1999 Thomas Brattli
This script is made by and copyrighted to Thomas Brattli at www.bratta.com
Visit for more great scripts.
This may be used freely as long as this msg is intact!
********************************************************************************
Browsercheck:*/
ie=document.all?1:0
n=document.layers?1:0

//These are the variables you have to set:

//How much of the layer do you wan't to be visible when it's in the out state?
lshow=60

//How many pixels should it move every step?
var move=10;

//At what speed (in milliseconds, lower value is more speed)
menuSpeed=40

//Do you want it to move with the page if the user scroll the page?
var moveOnScroll=true

//Defining variables
var tim;
var ltop;

//Object constructor
function makeMenu(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.css=(n) ? eval(nest+'document.'+obj):eval(obj+'.style')
this.state=1
this.go=0
this.width=n?this.css.document.width:eval(obj+'.offsetWidth')
this.left=b_getleft
this.obj = obj + "Object"; eval(this.obj + "=this")
}
//Get's the top position.
function b_getleft(){
var gleft=(n) ? eval(this.css.left):eval(this.css.pixelLeft);
return gleft;
}
function moveMenu(){
if(!oMenu.state){
clearTimeout(tim)
mIn()
}else{
clearTimeout(tim)
mOut()
}
}
//Menu in
function mIn(){
if(oMenu.left()>-oMenu.width+lshow){
oMenu.go=1
oMenu.css.left=oMenu.left()-move
tim=setTimeout("mIn()",menuSpeed)
}else{
oMenu.go=0
oMenu.state=1
}
}
//Menu out
function mOut(){
if(oMenu.left()<0){
oMenu.go=1
oMenu.css.left=oMenu.left()+move
tim=setTimeout("mOut()",menuSpeed)
}else{
oMenu.go=0
oMenu.state=0
}
}
function checkScrolled(){
if(!oMenu.go) oMenu.css.top=eval(scrolled)+ltop
if(n) setTimeout('checkScrolled()',30)
}
function menuInit(){
oMenu=new makeMenu('divMenu')
scrolled=n?"window.pageYOffset":"document.body.scrollTop"
oMenu.css.left=-oMenu.width+lshow
ltop=(n)?oMenu.css.top:oMenu.css.pixelTop;
oMenu.css.visibility='visible'
if(moveOnScroll) ie?window.onscroll=checkScrolled:checkScrolled();
}

//Initing menu on pageload
onload=menuInit;
</script>


Do umieszczenia w dowolnym miejscu:

<div id="divMenu" style="position:absolute; top:50; left:30; height:100; width:415; visibility:hidden">
<a href="plik.htm">Tekst</a> -
<a href="plik.htm">Tekst</a> -
<a href="plik.htm">Tekst</a> -
<a href="plik.htm">Tekst</a> -
<a href="javascript://" onclick="moveMenu()"><IMG SRC="samolot.gif" WIDTH="44" HEIGHT="44" BORDER="0" ALIGN="MIDDLE" ALT="Po kliknięciu pojawi się menu"></a>
</div>




Skrypt do pobrania:

Po kliknięciu nastąpi transfer archiwum z plikiem tekstowym ze skryptem