Avatar billede kometen79 Nybegynder
12. april 2004 - 03:46 Der er 4 kommentarer og
1 løsning

HJÆLP! to init

Jeg har fundet lidt forskelligt JS på nettet og er i fuld gang med at implementere det, men der er tilsyneladende to functioner der bruger "init" Hvis jeg fjerner:  onload="init()" fra <body> fungere nyhederne men så fungerer min menu ikke. Hvad kan jeg gøre?

Nyhedskoden ser således ud:


/********************************************************************************** 
                NewsSlideFade
                *  Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
                *  This script was released at DHTMLCentral.com
                *  Visit for more great scripts!
                *  This may be used and changed freely as long as this msg is intact!
                *  We will also appreciate any links you could give us.
                *
                *  Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
                *********************************************************************************/
// JavaScript Document
/********************************************************************************
Object code...Object constructors and functions...
********************************************************************************/
function makeNewsObj(obj,nest,font,size,color,news,fadespeed,betweendelay,slidespeed,works,newsheight){
    nest=(!nest) ? "":'document.'+nest+'.'
      this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;   
      this.writeref=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj+".document"):0;
    if(font){this.color=new Array(); this.color=eval(color); this.news=new Array(); this.news=eval(news)
        this.font=font; this.size=size; this.speed=fadespeed; this.delay=betweendelay; this.newsheight=newsheight;
        this.fadeIn=b_fadeIn;this.fadeOut=b_fadeOut; this.newsWrite=b_newsWrite; this.y=1
        this.slideIn=b_slideIn; this.moveIt=b_moveIt; this.slideSpeed=slidespeed; this.works=works
        if(bw.dom || bw.ie4){this.css.fontFamily=this.font; this.css.fontSize=this.size; this.css.color=this.color[0]}
    }
    this.obj = obj + "Object";     eval(this.obj + "=this"); return this
}

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px;}

function b_newsWrite(num,i){
    if (bw.ns4){
        this.writeref.write("<a href=\""+this.news[num]['link']+"\" target=\"myTarget\" style=\"text-decoration:none; font-size:"+this.size+"px\">"
            +"<font face=\""+this.font+"\" color=\""+this.color[i]+"\">"+this.news[num]['text']+"</font></a>")
        this.writeref.close()
    }else this.writeref.innerHTML = '<div id="'+this.obj+'link' +'" style="text-decoration:none; font-size:'+this.size+'px; color:'+this.color[i]+'"><b>'+this.news[num]['text']+'</b><br>Oprettet: '+this.news[num]['date']+'<br><br>'+this.news[num]['link']+'<br><br><a href="news.asp?news_id='+this.news[num]['tal']+'&print=news">Læs mere...</a></div>'
}
//Slide in
function b_slideIn(num,i){
    if (this.y>0){
        if (i==0){this.moveIt(0,this.newsheight); this.newsWrite(num,this.color.length-1)}
        this.moveIt(this.x,this.y-this.slideSpeed)
        i ++
        setTimeout(this.obj+".slideIn("+num+","+i+");",50)
    }else setTimeout(this.obj+".fadeOut("+num+","+(this.color.length-1)+")",this.delay)
}
//The fade functions
function b_fadeIn(num,i){
    if (i<this.color.length){
        if (i==0 || bw.ns4) this.newsWrite(num,i)
        else{
            obj = bw.ie4?eval(this.obj+"link"):document.getElementById(this.obj+"link")
            obj.style.color = this.color[i]
        }
        i ++
        setTimeout(this.obj+".fadeIn("+num+","+i+")",this.speed)
    }else setTimeout(this.obj+".fadeOut("+num+","+(this.color.length-1)+")",this.delay)
}

function b_fadeOut(num,i){
    if (i>=0){
        if (i==0 || bw.ns4) this.newsWrite(num,i)   
        else{
            obj = bw.ie4?eval(this.obj+"link"):document.getElementById(this.obj+"link")
            obj.style.color = this.color[i]
        }
        i --
        setTimeout(this.obj+".fadeOut("+num+","+i+")",this.speed)
    }else{
        num ++
        if(num==this.news.length) num=0
        works = !this.works?0:this.works==1?1:Math.round(Math.random())
        if(works==0) setTimeout(this.obj+".fadeIn("+num+",0)",500)
        else if (works==1){this.y=1; setTimeout(this.obj+".slideIn("+num+",0)",500)
        }
    }
}
/********************************************************************************************
The init function. Calls the object constructor and set some properties and starts the fade
*********************************************************************************************/
function fadeInit(){
    oNews = new makeNewsObj('divNews','divNewsCont',nFont,nFontsize,"nColor","nNews",nFadespeed,nBetweendelay,nSlidespeed,nWorks,nNewsheight)
    oNewsCont = new makeNewsObj('divNewsCont')
    works = !oNews.works?0:oNews.works==1?1:Math.round(Math.random())
    if (works==0) oNews.fadeIn(0,0)
    else if (works==1) oNews.slideIn(0,0)
    oNewsCont.css.visibility = "visible"
}

//Calls the init function on pageload.
if(bw.bw) onload = fadeInit
</script>
Avatar billede prom Nybegynder
12. april 2004 - 09:28 #1
Lav et script lige før dit </body> tag, og læg din menukode der.

eks:
<html>
<head></head>
<body>

... ... ...

<script language="JavaScript">
    menuKode();
</script>
</body>
</html>

- prom
Avatar billede kometen79 Nybegynder
12. april 2004 - 10:12 #2
Jeg er ikke lige helt med, hvis jeg sætter koden derned kommer det jo efter function bliver vist.
Avatar billede prom Nybegynder
12. april 2004 - 19:45 #3
Lav en funktion i et eller andet script i head sectionen og kald funktionen fra body'en.

- prom
Avatar billede roenving Novice
12. april 2004 - 19:50 #4
Du udkommenterer den allersidste linje i scriptet, og tilføjer i stedet til body '-)

//Calls the init function on pageload.
//if(bw.bw) onload = fadeInit
</script>

<body ... onload="init();fadeInit();">

-- og så står det forøvrigt et sted på Thomas Brattlis hjemmeside, at det er en indlysende fejl-mulighed (såhut jeg visker under FAQ'en !-)
Avatar billede roenving Novice
13. april 2004 - 19:56 #5
-- og tak for points ;~}
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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging