Avatar billede xcover Nybegynder
07. august 2003 - 20:11 Der er 20 kommentarer og
1 løsning

Net Avis

Hejsa...

Jeg har fundet et lille script. En "Net Avis" vil jeg kalde det. Det er små tekster som kommer frem og forsvinder igen.
Mit problem er bare hvordan jeg for den vist et bestemt sted... For scriptet er bygget sådan at jeg i toppen af koden skal vælge hvor på skærmen den skal vises det vælges med pixel og der er fejlen for så kommer det jo an på hvilken opløsning brugeren køre... Hmm...

Er der nogle af jeg der kan lave en kode som jeg bare skal sætte ind der hvor "Net Avnisen" skal være ???

Her er den koden jeg har fundet:

<style type="text/css">
#divNewsCont {position:absolute; left:550px; top:114px; width:500px; height:18px; clip:rect(0px 500px 25px 0px); visibility:hidden; overflow:hidden;}
#divNews    {position:absolute;}
</style>
<script language="JavaScript" type="text/javascript">

function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=this.agent.indexOf("Opera 5")>-1
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
    this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
    this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    this.mac=this.agent.indexOf("Mac")>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
    return this
}
var bw=new lib_bwcheck()

/****
Variables to set
****/

//How do you want the script to work?
//0 = Fade in - Fade out
//1 = Slide in - Fade out
//2 = Random
nWorks = 1

//If you use the slide set these variables:
nSlidespeed = 1 //in px
nNewsheight = 50 //This is how long down it should start the slide.

nBetweendelay = 12000 //The delay before fading out.
nFont = 'arial,helvetiva' //The font for the news.
nFontsize = 10 //Font size in pixel.
nFadespeed = 5 //The speed to fade in, in milliseconds.

//Set the colors, first color is same as background, last color is the color it stops at:
//You can have as many colors you want
nColor=new Array('#000000', '#000000','#000000','#000000','#000000','#000000','#000000')

//This is the news you wanna have, set the link and the text. If you don't wan't it to link anywhere
//use a # as the link
nNews=new Array()
//Copy there three lines and change the info and numbers to get more news.
nNews[0]=new Array()
nNews[0]["text"]="Test Test Test"
nNews[0]["link"]="http://www.bodykits.dk"

nNews[1]=new Array()
nNews[1]["text"]="Test Test Test"
nNews[1]["link"]="http://www.bodykits.dk"

nNews[2]=new Array()
nNews[2]["text"]="Test Test Test"
nNews[2]["link"]="http://www.bodykits.dk"

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=\"Forsideframe\" 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 = '<a id="'+this.obj+'link' +'" target="Forsideframe"  style="text-decoration:none; font-size:'+this.size+'px; color:'+this.color[i]+'" href="'+this.news[num]['link']+'">'+this.news[num]['text']+'</a>'
}
//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)",300)
        else if (works==1){this.y=1; setTimeout(this.obj+".slideIn("+num+",0)",300)
        }
    }
}

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>
<div id="divNewsCont">
<div id="divNews">
</div>
</div>
Avatar billede jonbdk Nybegynder
07. august 2003 - 20:12 #1
Lytter med
Avatar billede roenving Novice
07. august 2003 - 20:26 #2
Det kan jeg godt, men så skal du angive et element, den skal ligge indeni (en tabelcelle, en anden div eller hvad det nu er !-)

Tingen skal så have en id, så vi kan finde ud af, hvor kalorius befinder sig henne ...

>>jonbdk
Du må selvfølgelig godt lytte med, men du behøver ikke skrive noget om at du gør det ...
Hvis du godt vil på mail-listen til spørgsmålet hakker du bare E-Mail af og trykker udfør !-)
Avatar billede xcover Nybegynder
07. august 2003 - 20:28 #3
Bare lav en tabel... Det er helt fint... Takker!
Avatar billede roenving Novice
07. august 2003 - 20:42 #4
Du lægger dette i stedet for de nederste linjer af det du har:

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

function posDiv(elm) {
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    nDiv = document.getElementById('divNewsCont');
    nDiv.style.top = zy + 'px';
    nDiv.style.left = zx + 'px';
}

</script>
</head>
<body onload="fadeInit();posDiv(document.getElementById('newsTable'));">
<div id="divNewsCont">
<div id="divNews">
</div>
</div>

Og så laver du den table hvor det skal være i sådan:

<table id="newsTable" ... ><!-- ... skal erstattes med det som du ellers kommer i tagget -->

.
.
.

</table>

-- muligvis skal der byttes om på de to funktioner i onload ...
Avatar billede roenving Novice
07. august 2003 - 20:44 #5
-- og så vel lige en onresize="posDiv(document.getElementById('newsTable'))" ind i body-tagget også !-)
Avatar billede xcover Nybegynder
07. august 2003 - 20:47 #6
Okay... Tak!... Men det køre ikke helt...

Den skriver teksten og så sker der ikke mere...
Avatar billede xcover Nybegynder
07. august 2003 - 20:52 #7
Man kan godt sige at den køre for den skifter tekst men den fader det det ikke lige som i starten...
Avatar billede xcover Nybegynder
07. august 2003 - 21:03 #8
Hallo ?
Avatar billede roenving Novice
07. august 2003 - 21:04 #9
Så prøv dit body-tag sådan:

<body onresize="posDiv(document.getElementById('newsTable'))" onload="fadeInit();posDiv(document.getElementById('newsTable'));">
Avatar billede roenving Novice
07. august 2003 - 21:06 #10
Undskyld, der fik jeg ikke ...

<body onresize="posDiv(document.getElementById('newsTable'))" onload="posDiv(document.getElementById('newsTable'));fadeInit();">

Sådan skulle du prøve !-)
Avatar billede xcover Nybegynder
07. august 2003 - 21:08 #11
Nope... Stadig det samme...

Den blinkker bare teksten frem. Før så faddede den langsomt frem, men nu står teksten der bare...
Avatar billede xcover Nybegynder
07. august 2003 - 21:09 #12
Du kan se hvordan den køre på:
http://www.bodykits.dk

Lige under logoet...

Og du kan se på:
http://www.kvik-in.dk
Hvordan den skulle køre :-)
Avatar billede xcover Nybegynder
07. august 2003 - 21:15 #13
Selv om jeg fjerner:
id="newsTable"
Fra tabelen så køre teksten stadig...
Avatar billede xcover Nybegynder
07. august 2003 - 21:20 #14
Høpti :-) Så nu virker det...

Jeg byttet bare lidt rundt og ander ikke hvad jeg lavet men det køre nu :-)

Nu er mit enste problem at jeg ikke kan centrer det...

Smid et svar... Takker!
Avatar billede roenving Novice
07. august 2003 - 21:27 #15
Flyt alt dette op lige under dine <meta>-tags:

function posDiv(elm) {
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    nDiv = document.getElementById('divNewsCont');
    nDiv.style.top = zy + 'px';
    nDiv.style.left = zx + 'px';
}

</script>
<body onresize="posDiv(document.getElementById('newsTable'))" onload="posDiv(document.getElementById('newsTable'));fadeInit();">

og sæt en </script> ind istedet hvor du tager det fra !-)

-- og velbekomme '-)
Avatar billede xcover Nybegynder
07. august 2003 - 21:44 #16
Hvor skal jeg flytte det hen ? Jeg forstår ikke helt...
Avatar billede xcover Nybegynder
07. august 2003 - 21:46 #17
Jeg har nemlig ingen: <meta>
I min kode...
Avatar billede roenving Novice
07. august 2003 - 21:49 #18
Prøv at kigge på kilden:

<head>
<title>Bodykits.dk - Styl din bil her !</title>
</head>


<body bgcolor="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<style>
a {  font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000}
a:link { color: #000000; text-decoration: none}
a:visited { text-decoration: none}
a:hover { text-decoration: none; color: #FF0000}
</style>

  <META NAME="Title" CONTENT="Bodykits.dk">
  <META HTTP-EQUIV="content-type" content="text/html; charset=windows-1252">
  <META NAME="Description" CONTENT="Bodykits.dk find alt data om din bil samt skørtesæt, links, tuning, historie, og ellers bare alt style og styling">
  <META NAME="Keywords" CONTENT="bil, bilklubber, bilinfo, tuning, styling, carstyle, FDM, vw, volkswagen, golf, polo, passsat, toyota">
  <META NAME="Robots" CONTENT="INDEX,NOFOLLOW">
  <META NAME="Revisit-after" CONTENT="30">
  <META NAME="Author" CONTENT="Bodykits.dk">
  <LINK REV=made href="mailto:bodykits@yepss.dk">
  <META HTTP-EQUIV="Reply-to" CONTENT="bodykits@yepss.dk">
  <META NAME="Copyright" CONTENT="Bodykits.dk, 2003. All rights reserved.">
  <META HTTP-EQUIV="Content-language" CONTENT="dan">
  <META NAME="Rating" CONTENT="General">
  <META NAME="ObjectType" CONTENT="Interactive">
 
  <META NAME="DC.Title" CONTENT="Bodykits.dk">
  <META NAME="DC.Description" CONTENT="Bodykits.dk find alt data om din bil samt skørtesæt, links, tuning, historie, og ellers bare alt style og styling">
  <META NAME="DC.Subject" CONTENT="bil, bilklubber, bilinfo, tuning, styling, carstyle, FDM, vw, volkswagen, golf, polo, passsat, toyota">
  <META NAME="DC.Creator" CONTENT="Bodykits.dk">
  <META NAME="DC.Rights" CONTENT="Bodykits.dk, 2003. All rights reserved.">
  <META NAME="DC.Identifier" CONTENT="http://www.bodykits.dk/default.html">
  <META NAME="DC.Publisher" CONTENT="Bodykits.dk">
  <META NAME="DC.Language" scheme="NISOZ39.50" CONTENT="dan">
  <META NAME="DC.Type" CONTENT="Interactive">

<div align="center"><center>

Imellem de to sidste linjer !-)

-- og tak for points ;~}
Avatar billede xcover Nybegynder
07. august 2003 - 21:54 #19
Det vil bare ikke stå i mitten :-)

Se selv på Bodykits.dk
Avatar billede jonbdk Nybegynder
07. august 2003 - 21:57 #20
roenving -> tak for tippet
Avatar billede roenving Novice
07. august 2003 - 22:09 #21
Prøv at rette denne linje:

#divNews    {position:absolute;}

til:

#divNews    {position:absolute;text-align:center;}
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