Avatar billede kometen79 Nybegynder
20. februar 2004 - 16:27 Der er 16 kommentarer og
1 løsning

ASP og Javascript

Hvordan laver det her array om således at jeg kører en lykke fra en database.

nNews=new Array()
//Copy there three lines and change the info and numbers to get more news.
nNews[0]=new Array()
nNews[0]["text"]="New scripts  is updated with more scripts then ever!"
nNews[0]["link"]="/"

nNews[1]=new Array()
nNews[1]["text"]="Dynamic HTML scripts can be found here! ZoomText, FadeNews, TextChange and lot's lot's more.."
nNews[1]["link"]="/"

nNews[2]=new Array()
nNews[2]["text"]="Search the web with yahoo!"
nNews[2]["link"]="http://www.yahoo.com"
Avatar billede kometen79 Nybegynder
20. februar 2004 - 16:29 #1
sådan så:
nNews[1]=new Array() så 1 automatisk bliver til 2 osv.
nNews[2]["text"]="Search the web with yahoo!" så teksten er fra en database
nNews[2]["link"]="http://www.yahoo.com" så linket er fra en database
Avatar billede thesurfer Nybegynder
20. februar 2004 - 16:32 #2
Eksempel:

do while not rs.eof
response.write

response.write "nNews[" & rs("idnummer") & "]=new Array()
response.write "nNews[" & rs("idnummer") & "]["text"]="" & rs("text") & ""
response.write "nNews[" & rs("idnummer") & "]["link"]="" & rs("link") & "/""

loop
Avatar billede thesurfer Nybegynder
20. februar 2004 - 16:33 #3
doh.. det første "response.write" skulle ikke med..
Avatar billede kometen79 Nybegynder
23. februar 2004 - 07:24 #4
Hej jeg får følgende fejl:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/webvizion/WebVizion2004/Websiden/news.asp, line 80, column 46
response.write "nNews[" & rs("news_id") & "]["text"]="" & rs("news_header") & ""
---------------------------------------------^


Scriptet ser således ud, jeg har åbnet databasen udenfor Javascriptet:
<% do while not rs.eof

response.write "nNews[" & rs("news_id") & "]=new Array()"
response.write "nNews[" & rs("news_id") & "]["text"]="" & rs("news_header") & ""
response.write "nNews[" & rs("news_id") & "]["link"]="" & rs("news_text") & "/""

loop
%>

Skal der er ikke være en move next?
Avatar billede kometen79 Nybegynder
23. februar 2004 - 07:30 #5
Sådan her ser hele scriptet ud:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!--#INCLUDE FILE="Includes/DB.inc" -->
<%
CALL opendb()
            call opentbl("SELECT * FROM News", rs)%>

<script language="JavaScript" type="text/javascript">
/********************************************************************************** 
NewsSlideFade
*  Copyright (C) 2001 Thomas Brattli
*  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 Thomas Brattli
*
*  Script date: 09/04/2001 (keep this date to check versions)
*********************************************************************************/
function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
    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=lib_bwcheck()

/***************************************************************************
Use the style tag to change the placement and width of the layers.
If you are trying to place this into a table cell or something make the
position of the divNewsCont layer relative...Remeber that that might crash
Netscape 4 though, Good luck!
********************************************************************************/

/****
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 = 2 //in px
nNewsheight = 80 //This is how long down it should start the slide.

nBetweendelay = 4500 //The delay before fading out.
nFont = 'verdana,helvetiva' //The font for the news.
nFontsize = 10 //Font size in pixel.
nFadespeed = 70 //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('#EEEEEE', '#EEEEEE','#CCCCCC','#999999','#666666','#333333','#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()

<% do while not rs.eof

response.write "nNews[" & rs("news_id") & "]=new Array()"
response.write "nNews[" & rs("news_id") & "]["text"]="" & rs("news_header") & ""
response.write "nNews[" & rs("news_id") & "]["link"]="" & rs("news_text") & "/""

loop
%>

/********************************************************************************
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 = '<a id="'+this.obj+'link' +'" target="_parent"  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)",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>



<style type="text/css">
#divNewsCont  { color: #003366; position: relative; top: 0px; left: 0px; width: 100%; height: 90%; overflow: hidden; visibility: hidden; clip: rect(0px 100% 90% 0px) }
#divNews      { color: #003366; position: relative; top: 58px; left: 662px; visibility: visible }
</style>

</head>

<body>




<table>

<tr>
                        <td valign="top" class="main2"><div id="divNewsCont">
                            <div id="divNews">
                              <p>Denne tekst kan kun ses hvis din Browser skal
                                opdateres. Dette kan g&oslash;res p&aring; www.microsoft.com.</p>
                              <p>En opdatering vil betyde en optimeret anvendelse
                                af Internettets muligheder.</p>
                            </div>
                          </div>
                        </td>
                      </tr>

</table>

</body>
</html>
Avatar billede thesurfer Nybegynder
23. februar 2004 - 15:58 #6
Jeg havde glemt et par " tegn.. rettelse:

response.write "nNews[" & rs("idnummer") & "]=new Array()"
response.write "nNews[" & rs("idnummer") & "][""text""]="" & rs("text") & ""
response.write "nNews[" & rs("idnummer") & "][""link""]="" & rs("link") & "/""
Avatar billede kometen79 Nybegynder
24. februar 2004 - 08:47 #7
Hej Igen

Jeg fatter vist ingenting men den laver stadig fejl. Her er fejlen:
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/webvizion/WebVizion2004/Websiden/news.asp, line 78, column 65
response.write "nNews[" & rs("idnummer") & "][""text""]="" & rs("text") & ""

Koden ser nu sådan her ud.


nNews=new Array()

<% do while not rs.eof

response.write "nNews[" & rs("idnummer") & "]=new Array()"
response.write "nNews[" & rs("idnummer") & "][""text""]="" & rs("text") & ""
response.write "nNews[" & rs("idnummer") & "][""link""]="" & rs("link") & "/""

loop

%>

Og hele koden ser sådan her ud:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!--#INCLUDE FILE="Includes/DB.inc" -->
<%
CALL opendb()
            call opentbl("SELECT * FROM News", rs)%>

<script language="JavaScript" type="text/javascript">
/********************************************************************************** 
NewsSlideFade
*  Copyright (C) 2001 Thomas Brattli
*  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 Thomas Brattli
*
*  Script date: 09/04/2001 (keep this date to check versions)
*********************************************************************************/
function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
    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=lib_bwcheck()

/***************************************************************************
Use the style tag to change the placement and width of the layers.
If you are trying to place this into a table cell or something make the
position of the divNewsCont layer relative...Remeber that that might crash
Netscape 4 though, Good luck!
********************************************************************************/

/****
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 = 2 //in px
nNewsheight = 80 //This is how long down it should start the slide.

nBetweendelay = 4500 //The delay before fading out.
nFont = 'verdana,helvetiva' //The font for the news.
nFontsize = 10 //Font size in pixel.
nFadespeed = 70 //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('#EEEEEE', '#EEEEEE','#CCCCCC','#999999','#666666','#333333','#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()

<% do while not rs.eof

response.write "nNews[" & rs("idnummer") & "]=new Array()"
response.write "nNews[" & rs("idnummer") & "][""text""]="" & rs("text") & ""
response.write "nNews[" & rs("idnummer") & "][""link""]="" & rs("link") & "/""

loop

%>

/********************************************************************************
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 = '<a id="'+this.obj+'link' +'" target="_parent"  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)",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>



<style type="text/css">
#divNewsCont  { color: #003366; position: relative; top: 0px; left: 0px; width: 100%; height: 90%; overflow: hidden; visibility: hidden; clip: rect(0px 100% 90% 0px) }
#divNews      { color: #003366; position: relative; top: 58px; left: 662px; visibility: visible }
</style>

</head>

<body>




<table>

<tr>
                        <td valign="top" class="main2"><div id="divNewsCont">
                            <div id="divNews">
                              <p>Denne tekst kan kun ses hvis din Browser skal
                                opdateres. Dette kan g&oslash;res p&aring; www.microsoft.com.</p>
                              <p>En opdatering vil betyde en optimeret anvendelse
                                af Internettets muligheder.</p>
                            </div>
                          </div>
                        </td>
                      </tr>

</table>

</body>
</html>
Avatar billede thesurfer Nybegynder
25. februar 2004 - 19:23 #8
prøv det her:
response.write "nNews[" & rs("idnummer") & "][" & chr(34) & "text" & chr(34) & "]=" & rs("text") & chr(34)
response.write "nNews[" & rs("idnummer") & "][" & chr(34) & "link" & chr(34) & "]=" & chr(34) & rs("link") & chr(34) & "/" & chr(34)
Avatar billede thesurfer Nybegynder
25. februar 2004 - 19:33 #9
hmm.. det er forkert.. kigger lige på det..
Avatar billede thesurfer Nybegynder
25. februar 2004 - 19:47 #10
Sådan her:

response.write "nNews[" & rs("idnummer") & "]=new Array()"
response.write vbcrlf
response.write "nNews[" & rs("idnummer") & "][" & chr(34) & "text" & chr(34) & "]=" & chr(34) & rs("text") & chr(34)
response.write vbcrlf
response.write "nNews[" & rs("idnummer") & "][" & chr(34) & "link" & chr(34) & "]=" & chr(34) & rs("link") & "/" & chr(34)
response.write vbcrlf & vbcrlf

Det skal lige siges at "idnummer" er det felt, der indeholder "0", "1", "2", osv, der skal indsættes på X's plads i nNews[X]=....
Avatar billede thesurfer Nybegynder
25. februar 2004 - 19:50 #11
Hvis du hellere vil bruge dobbel " i stedet for chr(34), ser det sådan ud:

response.write "nNews[" & rs("idnummer") & "]=new Array()"
response.write vbcrlf
response.write "nNews[" & rs("idnummer") & "][""text""]=""" & rs("text") & """"
response.write vbcrlf
response.write "nNews[" & rs("idnummer") & "][""link""]=""" & rs("link") & "/"""
response.write vbcrlf & vbcrlf
Avatar billede kometen79 Nybegynder
26. februar 2004 - 06:56 #12
Nu får jeg ingen fejlmeddelelse men der kommer script time out på serveren, hvordan kan det være? Får vi det løst får du 30 eksra point.
Avatar billede kometen79 Nybegynder
26. februar 2004 - 06:57 #13
Koden ser således ud:

<html>
<head>
<!--#INCLUDE FILE="Includes/DB.inc" -->
<%
CALL opendb()
            call opentbl("SELECT * FROM News", rs)%>


<title>DHTMLCentral.com - Free Dynamic HTML Scripts - NewsSlideFade Demo</title>
<meta name="Author" content="Thomas Brattli (webmaster@dhtmlcentral.com)">
<META NAME="Generator" CONTENT="Designer:Thomas Brattli (www.bratta.com)">
<meta name="KeyWords" content="DHTML, HTML, Dynamic HTML, Javascript, Cascading Style Sheets, Cross-browser, Cross browser, Javascripts, DOM, Scripts, Free Scripts,newsslidefade,news,slide,fade,random,newsticker,ticker,text,move,">
<meta name="Description" content="Dynamic HTML Central - The ultimate place to find DHTML scripts, demos, tutorials and help.">
<style type="text/css">
#divNewsCont {position:absolute; left:100px; top:200px; width:300px; height:80px; clip:rect(0px 300px 80px 0px); visibility:hidden; overflow:hidden;}
#divNews    {position:absolute;}
</style>
<script language="JavaScript" type="text/javascript">
/********************************************************************************** 
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>
*********************************************************************************/

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()



/***************************************************************************
Use the style tag to change the placement and width of the layers.
If you are trying to place this into a table cell or something make the
position of the divNewsCont layer relative...Remeber that that might crash
Netscape 4 though, Good luck!
********************************************************************************/

/****
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 = 5 //in px
nNewsheight = 80 //This is how long down it should start the slide.

nBetweendelay = 1000 //The delay before fading out.
nFont = 'arial,helvetiva' //The font for the news.
nFontsize = 12 //Font size in pixel.
nFadespeed = 100 //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('#FFFFFF', '#EEEEEE','#CCCCCC','#999999','#666666','#333333','#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()

<% do while not rs.eof

response.write "nNews[" & rs("id") & "]=new Array()"
response.write vbcrlf
response.write "nNews[" & rs("id") & "][""text""]=""" & rs("header") & """"
response.write vbcrlf
response.write "nNews[" & rs("id") & "][""link""]=""" & rs("text") & "/"""
response.write vbcrlf & vbcrlf

loop

%>

/********************************************************************************
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 = '<a id="'+this.obj+'link' +'" target="myTarget"  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)",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>
</head>

<body marginleft="0" marginheight="0">
<!-- START DELETE -->
<div style="position:absolute; left:0; top:0"><a href="#" onclick="self.close(); return false"><img src="/images/logo.gif" width="165" height="54" alt="" border="0" alt="Click to close window"></a></div>
<br><br><br>
<!-- END DELETE -->

<div id="divNewsCont">
    <div id="divNews">
        Default text, this is the text that 3.x browsers will see
        You can have lot's of ˜ here in stead. Or you can use a
        script to write in text only if it's Netscape 4 (you have to
        do that so that the layer gets some content or the written in text
        won't show correct.
    </div>
</div>


</body>
</html>
Avatar billede thesurfer Nybegynder
26. februar 2004 - 12:44 #14
Jeg synes at der mangler noget.. f.eks. indholdet af filen "Includes/DB.inc"
Desuden lukker du ikke forbindelsen til databasen igen.. og det ville nok være bedst at flytte "call"-koderne ned til "do while..."-delen.. altså lige før det..

men smid lige indholdet af "Includes/DB.inc" her ind.. HUSK: Erstat stien til database, brugernavn/password, og andre vigtige data, med f.eks "XXX".
Avatar billede kometen79 Nybegynder
26. februar 2004 - 13:42 #15
hej igen

Jeg har fundet ud af det, der manglede en rs.movenext også skal det første nummer fra database være null. Du kan stadig få pointene, du skal lige sige mig hvordan jeg laver det første id fra databasen om til 0 og sådan så der bliver lagt en til hver gang alt efter hvor mange poster der er.
Avatar billede thesurfer Nybegynder
26. februar 2004 - 14:38 #16
Prøv med: call opentbl("SELECT * FROM News where id = 0 order by id", rs)

Men så vidt jeg ved, kan man ikke selv ændre idnummereringen.. jeg går ud fra at du har brugt autonummerereing?
Avatar billede kometen79 Nybegynder
16. april 2004 - 08:15 #17
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
Kurser inden for grundlæggende programmering

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