Avatar billede para7 Nybegynder
20. marts 2003 - 09:32 Der er 10 kommentarer og
1 løsning

Hvordan udtrækker man værdi fra funktion ?

Funktionen har jeg sat ind i scriptet http://www.eksperten.dk/spm/330664 . (Se også http://www.eksperten.dk/spm/330792 ). Hvordan pokker får man værdien trukket ud til viderebehandling i scriptet. Det må være dagligdags rutine for en javascript-kyndig.

function shiftDirection(direction) {
    if(direction == "down"){
        godownX=true;
    if(direction == "down"){
        godownX=true;
        }else{
        godownX=false;
        }
        }
}
var godown=godownX;       

//Fejlmeddelelse: 'godownX' er ikke defineret
Avatar billede atoft Nybegynder
20. marts 2003 - 09:36 #1
function shiftDirection(direction) {
    if(direction == "down"){
        shiftDirection.godownX=true;
    if(direction == "down"){
        shiftDirection.godownX=true;
        }else{
        shiftDirection.godownX=false;
        }
        }
}
var godown=shiftDirection.godownX;
Avatar billede atoft Nybegynder
20. marts 2003 - 09:42 #2
Men jeg synes din funktion er lidt forkert for det laver jo ikke rigtigt noget ud over at ændre down til true. Lav evt en global variabel


eller lav det om til.

hvorfor ikke lave det om.

funcion getDirection(direction) {
  return direction == "down" ? true : false;
}

så kan du skrive.

var godown = getDirection("down"); // vil returnere true
Avatar billede para7 Nybegynder
20. marts 2003 - 09:47 #3
Tak atoft >
Jeg ser på det nu. Stay tune...
Avatar billede para7 Nybegynder
20. marts 2003 - 09:51 #4
atoft >
Som jeg skriver i de henviste spørgsmål, vil jeg lave en op og ned knap og kalde funktionen med onMouseover. Så bliver min scroller pludselig udvidet til at fungere som en menu. Ser det ikke ladesiggørligt ud?
Avatar billede atoft Nybegynder
20. marts 2003 - 09:53 #5
Det har jeg desværre ikke tid til at sætte mig ind i lige nu.
Avatar billede para7 Nybegynder
20. marts 2003 - 10:12 #6
Når du får tid, kan du så ikke vise mig hvordan jeg indsætter det. Har forsøgt og der vises ingenting på siden. Her er siden:

<script language="javascript">
/*******************************************
Vertical Scroller (Marquee Replacement) v-1.3
Brian Gosselin - http://scriptasylum.com
*******************************************/

//ENTER CONTENT TO SCROLL BELOW.
var content='Her er min scrolltekst...';

var boxheight=150;        // BACKGROUND BOX HEIGHT IN PIXELS.
var boxwidth=300;        // BACKGROUND BOX WIDTH IN PIXELS.
var boxcolor="#FFF6e9";  // BACKGROUND BOX COLOR.
var speed=50;            // SPEED OF SCROLL IN MILLISECONDS (1 SECOND=1000 MILLISECONDS)..
var pixelstep=1;          // PIXELS "STEPS" PER REPITITION.

funcion getDirection(direction) {
  return direction == "down" ? true : false;
}

//så kan du skrive.

var godown = getDirection("down"); // vil returnere true

var pauseOnmouseover=true; //SET TO "true" TO ENABLE PAUSE WHEN MOUSEOVER, "false" TO DISABLE IT.

// DO NOT EDIT BEYOND THIS POINT

var outer,inner,elementheight,ref,refX,refY;
var w3c=(document.getElementById)?true:false;
var ns4=(document.layers)?true:false;
var ie4=(document.all && !w3c)?true:false;
var ie5=(document.all && w3c)?true:false;
var ns6=(w3c && navigator.appName.indexOf("Netscape")>=0)?true:false;
var txt='';
var goscroll=true;
if(ns4){
txt+='<table cellpadding=0 cellspacing=0 border=0 height='+boxheight+' width='+boxwidth+'><tr><td>';
txt+='<ilayer name="ref" bgcolor="'+boxcolor+'" width='+boxwidth+' height='+boxheight+'></ilayer>';
txt+='</td></tr></table>'
txt+='<layer name="outer" bgcolor="'+boxcolor+'" visibility="hidden" width='+boxwidth+' height='+boxheight+' '+((pauseOnmouseover)? 'onmouseover="goscroll=false" onmouseout="goscroll=true"':'')+'>';
txt+='<layer  name="inner"  width='+(boxwidth-4)+' height='+(boxheight-4)+' visibility="hidden" left="2" top="2" >'+content+'</layer>';
txt+='</layer>';
}else{
txt+='<div id="ref" style="position:relative; width:'+boxwidth+'; height:'+boxheight+'; background-color:'+boxcolor+';"></div>';
txt+='<div id="outer" style="position:absolute; width:'+boxwidth+'; height:'+boxheight+'; visibility:hidden; background-color:'+boxcolor+'; overflow:hidden"  '+((pauseOnmouseover)? 'onmouseover="goscroll=false" onmouseout="goscroll=true"':'')+'>';
txt+='<div id="inner"  style="position:absolute; visibility:hidden; left:2px; top:2px; width:'+(boxwidth-4)+'; overflow:hidden; cursor:default;" '+((pauseOnmouseover)? 'onmouseover="goscroll=false" onmouseout="goscroll=true"':'')+'>'+content+'</div>';
txt+='</div>';
}
document.write(txt);
txt='';

function getElHeight(el){
if(ns4)return (el.document.height)? el.document.height : el.clip.bottom-el.clip.top;
else if(ie4||ie5)return (el.style.height)? el.style.height : el.clientHeight;
else return (el.style.height)? parseInt(el.style.height):parseInt(el.offsetHeight);
}

function getPageLeft(el){
var x;
if(ns4)return el.pageX;
if(ie4||w3c){
x = 0;
while(el.offsetParent!=null){
x+=el.offsetLeft;
el=el.offsetParent;
}
x+=el.offsetLeft;
return x;
}}

function getPageTop(el){
var y;
if(ns4)return el.pageY;
if(ie4||w3c){
y=0;
while(el.offsetParent!=null){
y+=el.offsetTop;
el=el.offsetParent;
}
y+=el.offsetTop;
return y;
}}

function scrollbox(){
if(goscroll){
if(ns4){
inner.top+=(godown)? pixelstep: -pixelstep;
if(godown){
if(inner.top>boxheight)inner.top=-elementheight;
}else{
if(inner.top<2-elementheight)inner.top=boxheight+2;
}}else{
inner.style.top=parseInt(inner.style.top)+((godown)? pixelstep: -pixelstep)+'px';
if(godown){
if(parseInt(inner.style.top)>boxheight)inner.style.top=-elementheight+'px';
}else{
if(parseInt(inner.style.top)<2-elementheight)inner.style.top=boxheight+2+'px';
}}}}

window.onresize=function(){
if(ns4)setTimeout('history.go(0)', 400);
else{
outer.style.left=getPageLeft(ref)+'px';
outer.style.top=getPageTop(ref)+'px';
}}

window.onload=function(){
outer=(ns4)?document.layers['outer']:(ie4)?document.all['outer']:document.getElementById('outer');
inner=(ns4)?outer.document.layers['inner']:(ie4)?document.all['inner']:document.getElementById('inner');
ref=(ns4)?document.layers['ref']:(ie4)?document.all['ref']:document.getElementById('ref');
elementheight=getElHeight(inner);
if(ns4){
outer.moveTo(getPageLeft(ref),getPageTop(ref));
outer.clip.width=boxwidth;
outer.clip.height=boxheight;
inner.top=(godown)? -elementheight : boxheight-2;
inner.clip.width=boxwidth-4;
inner.clip.height=elementheight;
outer.visibility="show";
inner.visibility="show";
}else{
outer.style.left=getPageLeft(ref)+'px';
outer.style.top=getPageTop(ref)+'px';
inner.style.top=((godown)? -elementheight : boxheight)+'px';
inner.style.clip='rect(0px, '+(boxwidth-4)+'px, '+(elementheight)+'px, 0px)';
outer.style.visibility="visible";
inner.style.visibility="visible";
}
setInterval('scrollbox()',speed);
}
</script>
<a href="#" onMouseOver="getDirection("down")">NED</a> - <a href="#" onMouseOver="getDirection("up")">OP</a>
Avatar billede para7 Nybegynder
20. marts 2003 - 10:51 #7
Der er en slåfejl, som er rettet nu:
funcion getDirection(direction) {
Men der sker ingenting onMouseover.
Avatar billede atoft Nybegynder
20. marts 2003 - 10:58 #8
Nej for du skal vel kalde scrollebox() funktionen det er jo den som får den til at scrolle.
Avatar billede para7 Nybegynder
20. marts 2003 - 11:09 #9
atoft >
Det er mere end jeg kan finde ud af.
Avatar billede para7 Nybegynder
20. marts 2003 - 11:20 #10
atoft >
Jeg har prøvet at kalde function scrollbox(){ på forskellige måder. Der sker ikke noget. Hvad med function getDirection?
Avatar billede para7 Nybegynder
07. april 2003 - 16:18 #11
Jeg lukker.
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