15. oktober 2001 - 14:04
#1
tilføj funktionen
function setOpen( ) { // åbner skuggen helt.
if (document.all) {
themenu.pixelLeft = leftBoundary;
}
else
if (document.layers) {
themenu.left = leftBoundary-2;
}
}; // end setOpen( )
i dit script og tilføj et kald til den i din onload handeler
<BODY TEXT=\"400080\" LINK=\"#FFFFFF\" VLINK=\"#FFFFFF\" BGcolor=\"#FFFFFF\" alink=\"#FFFFFF\" onLoad=\"document.setOpen();MM_preloadImages(\'over2.jpg\')\">
mvh JakobA
15. oktober 2001 - 16:39
#5
Tak skal du have. Det er dejlig at se at når det ikke virker tror du automatisk at jeg har gjort det rigtig og du har lavet rod.
kikkede i koden og fandt et par fejl:
<body kommandoen var blevet fordoblet.
jeg havde overset en assignment til onload i det script der stod indeni dokumentet
<HTML>
<HEAD>
<!-- Minus AutoDato -->
<TITLE>Javascripts - SlideMenu Drag</TITLE>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3\">
<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"../webstuff/seemee.css\">
<style>
<!--
TD {
font-family : arial;
font-size : 12px;
}
#slidemenubar, #slidemenubar2 {
cursor : hand;
position : absolute;
left : -165px;
width : 180px;
border-width : 0px;
border-color : ;
border-style : ;
font : bold 12px Verdana;
margin-left : 2px;
background-image: url(skuffe.jpg)
}
#menu {
text-align : left;
line-height : 22px;
margin-left : 15px;
}
-->
</style>
<script language=\"JavaScript\">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf(\"#\")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf(\"?\"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function setOpen( ) { // åbner skuffen helt.
alert( \"setOpen kaldt\" );
if (document.all) {
themenu.pixelLeft = leftBoundary;
}
else
if (document.layers) {
themenu.left = leftBoundary-2;
}
}; // end setOpen( )
//-->
</script>
</HEAD>
<BODY TEXT=\"400080\" LINK=\"#FFFFFF\" VLINK=\"#FFFFFF\" BGcolor=\"#FFFFFF\" alink=\"#FFFFFF\" onLoad=\"setOpen();MM_preloadImages(\'over2.jpg\');Generator2();\">
<div id=\"Layer1\" style=\"position:absolute; width:8px; height:430px; z-index:1; left: -4px; top: -6px\"><img src=\"skab.jpg\" width=\"18\" height=\"425\"></div>
<P>
<P> <font face=\"Arial, Helvetica, sans-serif\">
<script language=\"JavaScript1.2\">
if (document.all)
document.write(\'<div id=\"slidemenubar2\" style=\"left:-155\">\')
</script>
<layer id=\"slidemenubar\">
<script language=\"JavaScript1.2\">
var links=new Array(1)
var linksURL=new Array(1)
//extend or shorten this list
links[0]=\"\"
links[1]=\"Opret opgave\"
links[2]=\"Ret opgave\"
links[3]=\"Opgave oversigt\"
links[4]=\"Log af\"
links[5]=\"Opgave5\"
links[6]=\"Opgave6\"
links[7]=\"Opgave7\"
links[8]=\"Opgave8\"
links[9]=\"Opgave9\"
links[10]=\"\"
links[11]=\"Opgave10\"
links[12]=\"Opgave11\"
links[13]=\"Opgave12\"
links[14]=\"Opgave13\"
links[15]=\"Opgave14\"
//These are the links pertaining to the above text.
linksURL[0]=\"\"
linksURL[1]=\"ny_opg.asp target=_midt\"
linksURL[2]=\"profile.htm target=_midt\"
linksURL[3]=\"program.htm target=_midt\"
linksURL[4]=\"default.asp target=_top\"
linksURL[5]=\"sponsors.htm target=_midt\"
linksURL[6]=\"address.htm target=_midt\"
linksURL[7]=\"apply.htm target=_midt\"
linksURL[8]=\"funding.htm target=_midt\"
linksURL[9]=\"../infopack/holland/index.htm target=_midt\"
linksURL[10]=\"\"
linksURL[11]=\"../infopack/holland/index.htm target=_midt\"
linksURL[12]=\"../infopack/holland/index.htm target=_midt\"
linksURL[13]=\"../infopack/holland/index.htm target=_midt\"
linksURL[14]=\"../infopack/holland/index.htm target=_midt\"
linksURL[15]=\"../infopack/holland/index.htm target=_midt\"
document.write(\"<br>\");
for (i=0;i<=links.length-1;i++)
document.write(\"<DIV ID=\'menu\'><nobr><A HREF=\" + linksURL[i] + \">\" + links[i] + \"</A></nobr></DIV>\")
document.write(\"<br>\");
</script>
</layer>
<script language=\"JavaScript1.2\">
function Generator() {
window.location.reload()
}
function Generator2()
{
if (document.layers)
setTimeout(\"window.onresize=Generator\",400)
}
if (document.all)
{
document.write(\'</div>\')
themenu = document.all.slidemenubar2.style;
rightBoundary = 0;
leftBoundary=-155;
}
else
{
themenu = document.layers.slidemenubar;
rightBoundary = 155;
leftBoundary = 10;
}
var dragApproved = false
var x1,x2
if (document.layers)
themenu.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
function move(e)
{
if (document.all&&event.button==1&&dragApproved)
{
if(temp1+event.clientX-x1>leftBoundary)
themenu.pixelLeft=Math.min(rightBoundary,temp1+event.clientX-x1)
else
themenu.pixelLeft=Math.max(leftBoundary,temp1+event.clientX-x1)
}
else if (document.layers)
{
if(themenu.left+e.x-x2>leftBoundary)
themenu.left=Math.min(rightBoundary+2,themenu.left+e.x-x2)
else
themenu.left=Math.max(leftBoundary-2,themenu.left+e.x-x2)
}
}
function drags(e)
{
if (document.all)
{
dragApproved = true
temp1 = themenu.pixelLeft
x1 = event.clientX
document.onmousemove = move
}
else
{
themenu.captureEvents(Event.MOUSEMOVE)
x2=e.x
}
}
function stopIt()
{
if (document.all)
{
dragApproved=false
}
if (document.layers)
themenu.releaseEvents(Event.MOUSEMOVE)
}
if (document.all)
{
document.all.slidemenubar2.onmousedown=drags
document.all.slidemenubar2.onmouseup=new Function(\"dragApproved=false\")
document.onselectstart=new Function(\"return false\")
}
else if (document.layers)
{
themenu.onmousedown=move
themenu.onmousemove=move
themenu.onmouseup=stopIt
}
</script>
</font><font face=\"Courier New, Courier, mono\"> </font>
<P>
<P>
<P>
<P>
<P>
<P>
<div id=\"Layer2\" style=\"position:absolute; width:168px; height:36px; z-index:-1; left: -4px; top: 375px\">
<p><a href=\"#\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage(\'Image5\',\'\',\'2a.jpg\',1)\"><img name=\"Image5\" border=\"0\" src=\"1.jpg\" width=\"185\" height=\"92\"></a></p>
</div>
<P>
</BODY>
</HTML>
16. oktober 2001 - 11:23
#8
Doh. nogen gange er jeg lidt dum:
function setOpen( ) { // åbner skuffen helt.
if (document.all) {
themenu.pixelLeft = rightBoundary;
}
else
if (document.layers) {
themenu.left = rightBoundary+2; // højre, ikke venstre.
}
}; // end setOpen( )
mvh JakobA
16. oktober 2001 - 12:34
#11
Det bliver lidt mere kompliceret. funktionen setOpen udskiftes med:
var ptPos, slutPos;
var timeHandle;
function setOpen( ) { // opstil variable for gradvis åbning.
ptPos = leftBoundary;
if (document.all) {
slutPos = rightBoundary;
}
else
if (document.layers) {
slutPos = rightBoundary+2;
}
stepOpen()
}; // end setOpen( )
function stepOpen( ) { // åbner skuffen lidt mere.
ptPos = ptPos + Math.min( slutPos-ptPos, 10 ); // 10 er hastigheden. 1 er langsomst
if (document.all) {
themenu.pixelLeft = ptPos;
}
else
if (document.layers) {
themenu.left = ptPos; // højre, ikke venstre.
}
if ( ptPos != slutPos ) timeHandle = setTimeout( \"stepOpen()\", 20 );
}; // end setOpen( )
mvh JakobA