Avatar billede anne-m Nybegynder
03. maj 2004 - 18:44 Der er 10 kommentarer og
1 løsning

Lille ændring i javascript menu

Hejsa ;o)

Jeg har fundet en "smart" menu hos DynamicDrive.com  - og det er fint.
Problemet er at jeg ikke kan javascript og ønsker at lave en lille ændring.

Jeg skal have nogen menupunkter til at åbne et popup-vindue der er en bestemt størrelse og har en bestemt placering. Hvis vinduet er åbnet skal linksne genbruge dette vindue - ellers skal det åbnes.

Jeg ved ikke hvordan jeg sammensætter menu scriptet med popup scriptet...

Her er menu-koden:

<head>
<style>
<!--
#slidemenubar, #slidemenubar2{
position:absolute;
border:1.5px solid black;
background-color:#F2F2F2;
layer-background-color:#F2F2F2;
font:bold 12px Verdana;
line-height:20px;
}
-->
</style>

------------------

<body>
<script language="JavaScript1.2">

/***********************************************
* Sliding Menu Bar Script- © Dynamic Drive (www.dynamicdrive.com)
* Visit http://www.dynamicdrive.com/ for full source code
* This notice must stay intact for use
***********************************************/

var slidemenu_width=160 //specify width of menu (in pixels)
var slidemenu_reveal=12 //specify amount that menu should protrude initially
var slidemenu_top=170  //specify vertical offset of menu on page

var ns4=document.layers?1:0
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all?1:0

if (ie4||ns6)
document.write('<div id="slidemenubar2" style="left:'+((slidemenu_width-slidemenu_reveal)*-1)+'; top:'+slidemenu_top+'; width:'+slidemenu_width+'" onMouseover="pull()" onMouseout="draw()">')
else if (ns4){
document.write('<style>\n#slidemenubar{\nwidth:'+slidemenu_width+';}\n<\/style>\n')
document.write('<layer id="slidemenubar" left=0 top='+slidemenu_top+' width='+slidemenu_width+' onMouseover="pull()" onMouseout="draw()" visibility=hide>')
}

var sitems=new Array()

///////////Edit below/////////////////////////////////

//siteitems[x]=["Item Text", "Optional URL associated with text"]

sitems[0]=["<big><font face='Arial'>Site Menu</font></big>", ""]
sitems[1]=["Menus And Navigation", "http://www.dynamicdrive.com/dynamicindex1/"]
sitems[2]=["Document Effects", "http://www.dynamicdrive.com/dynamicindex3/"]
sitems[3]=["Scrollers", "http://www.dynamicdrive.com/dynamicindex2/"]
sitems[4]=["Image Effects", "http://www.dynamicdrive.com/dynamicindex4/"]
sitems[5]=["Links And Buttons", "http://www.dynamicdrive.com/dynamicindex5/"]
sitems[6]=["Dynamic Clocks & Dates", "http://www.dynamicdrive.com/dynamicindex6/"]
sitems[7]=["Text Animations", "http://www.dynamicdrive.com/dynamicindex10/"]
sitems[8]=["Browser Window", "http://www.dynamicdrive.com/dynamicindex8/"]
sitems[9]=["User System Information", "http://www.dynamicdrive.com/dynamicindex9/"]
sitems[10]=["Other", "http://www.dynamicdrive.com/dynamicindex11/"]

//If you want the links to load in another frame/window, specify name of target (ie: target="_new")
var target=""

/////////////////////////////////////////////////////////

if (ie4||ns4||ns6){
for (i=0;i<sitems.length;i++){
if (sitems[i][1])
document.write('<a href="'+sitems[i][1]+'" target="'+target+'">')
document.write(sitems[i][0])
if (sitems[i][1])
document.write('</a>')
document.write('<br>\n')
}
}

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (ns4){
document.slidemenubar.left=((slidemenu_width-slidemenu_reveal)*-1)
document.slidemenubar.visibility="show"
setTimeout("window.onresize=regenerate",400)
}
}
window.onload=regenerate2

rightboundary=0
leftboundary=(slidemenu_width-slidemenu_reveal)*-1

if (ie4||ns6){
document.write('</div>')
themenu=(ns6)? document.getElementById("slidemenubar2").style : document.all.slidemenubar2.style
}
else if (ns4){
document.write('</layer>')
themenu=document.layers.slidemenubar
}

function pull(){
if (window.drawit)
clearInterval(drawit)
pullit=setInterval("pullengine()",10)
}
function draw(){
clearInterval(pullit)
drawit=setInterval("drawengine()",10)
}
function pullengine(){
if ((ie4||ns6)&&parseInt(themenu.left)<rightboundary)
themenu.left=parseInt(themenu.left)+10
else if(ns4&&themenu.left<rightboundary)
themenu.left+=10
else if (window.pullit){
themenu.left=0
clearInterval(pullit)
}
}

function drawengine(){
if ((ie4||ns6)&&parseInt(themenu.left)>leftboundary)
themenu.left=parseInt(themenu.left)-10
else if(ns4&&themenu.left>leftboundary)
themenu.left-=10
else if (window.drawit){
themenu.left=leftboundary
clearInterval(drawit)
}
}
</script>


Jep! der er meget kode – og her er den kode der skal lave en popup:

<head>   
<script language="JavaScript" type="text/javascript">
<!--
function PopWindow388762()
{
window.open('http://www.eksperten.dk','popup388762','width=500,height=500,top=100,left=100')
}
//-->
</script>
----------------------------
på selve det der skal linke: <a href="#" onclick="java script:PopWindow388762()";>klik her</a>

Det var det... Jeg håber der er nogen der gider flette det sammen for mig!
;o)
Anne-M.
Avatar billede roenving Novice
04. maj 2004 - 01:13 #1
sitems[1]=["Menus And Navigation", "java script:PopWindow388762('http://www.dynamicdrive.com/dynamicindex1/')"]

-- og:

<script language="JavaScript" type="text/javascript">
<!--
function PopWindow388762(link){
window.open(link,'popup388762','width=500,height=500,top=100,left=100')
}
//-->
</script>
Avatar billede anne-m Nybegynder
04. maj 2004 - 09:11 #2
roenving---> ;o) mange tak.  Du får points med det samme... hvis du svarer.
Anne-m.
Avatar billede roenving Novice
04. maj 2004 - 11:47 #3
Velbekomme '-)
Avatar billede anne-m Nybegynder
04. maj 2004 - 12:03 #4
...Roenving... gider du fortælle mig hvordan jeg så linker tilbage til det første popup (det vindue med javascript-menuen..

Der skal nemlig være nogen links i det vindue der "popper" op når man vælger et menupunkt.

;o) eller skal jeg lave et nyt spm?
Avatar billede anne-m Nybegynder
04. maj 2004 - 12:04 #5
..jeg ved godt at jeg er lidt krævende... men det kunne jo være at du gad. ;o)
Avatar billede roenving Novice
04. maj 2004 - 12:10 #6
Fra en popup kan man få fat i det vindue, hvor popup'en blev åbnet fra, med opener ...

F.eks. opener.document.forms[0].FELTNAVN.value = this.value;
Avatar billede anne-m Nybegynder
04. maj 2004 - 15:05 #7
tak. jeg prøver om jeg kan finde ud af at sætte det ind... :o]
Avatar billede anne-m Nybegynder
04. maj 2004 - 16:06 #8
jeg opretter lige et nyt spm. så der er point indblandet. ;o) for jeg kan ikke finde ud af det...
Avatar billede anne-m Nybegynder
04. maj 2004 - 16:24 #9
hvis du gider hjælpe mig...?

http://www.eksperten.dk/spm/495798
Avatar billede anne-m Nybegynder
07. maj 2004 - 01:17 #10
lukker.
Avatar billede roenving Novice
07. maj 2004 - 01:30 #11
-- og jeg skal da huske at takke for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB