Avatar billede sp Nybegynder
02. november 2001 - 15:06 Der er 8 kommentarer og
1 løsning

Newsfeeder med fadding der både virker i IE, NS og Mozilla!

Hejsa.
Jeg har dette script som virker fint i NS og IE, og hvor jeg selv har forsøgt at tilføje Mozilla. Teksten bliver vist i Mozilla, men fade-funktionen virker ikke i denne. Et andet problem er at laget helst skal ligge \"ovenpå\" mine tables på siden, ligesom den gør i IE og NS. I Mozilla ligger den inde i et table...
Kan nogle hjælpe?

mvh
Søren Peter


<html>
<head>
<Style type=\"text/css\">
#tickertape{
position:relative;
layer-background-color:black;
left:0;
top:0;
height:20;
}

#subtickertape{
background-color:black;
position:absolute;
left:0;
top:0;
border: 1px solid black;
height:20;
text-align: center;
}

.subtickertapefont{
top:0;
font:bold 12px Tahoma;
text-decoration:none;
color:white;
text-align: center;
}

.subtickertapefont a{
top:0;
color:white;
text-decoration:none;
text-align: center;
}
</style>
<Script Language=\"Javascript\">

if(document.layers)document.write(\'<style type=\"text\'+\'/\'+\'css\">#subtickertape{width:150%;}<\'+\'/\'+\'style>\');
if(document.all||document.getElementById)document.write(\'<style type=\"text\'+\'/\'+\'css\">#subtickertape{width:100%;}<\'+\'/\'+\'style>\');


</script>
</head>

<body onload=\"if(document.all||document.layers||document.getElementById){regenerate2();update()}\">

<Script Language=\"Javascript\">




if( ( document.all || document.layers || document.getElementById) && navigator.userAgent.indexOf(\'Win\')!= -1){
document.write(\'<div id=\"tickertape\" align=\"center\"><div id=\"subtickertape\" class=\"subtickertapefont\" align=\"center\">Initializing...</div></div>\')

var speed=5000

var news=new Array()
news[0]=\'test\';
news[1]=\'test1\';
news[2]=\'test2\';
news[3]=\'test3\';
news[4]=\'test4\';

i=0
if (document.all){
tickerobject=document.all.subtickertape.style
}
else if (document.layers){
tickerobject=document.tickertape.document
}
else if (document.getElementById){
tickerobject=document.getElementById(\"tickertape\").style
}

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout(\"window.onresize=regenerate\",450)
}

function update(){
BgFade(0xff,0xff,0xff,0x00,0x00,0x00,10);
if (document.layers){
document.tickertape.document.subtickertape.document.write(\'<table width=\"100%\" border=0 align=\"center\"><tr><td align=\"center\" valign=\"top\"><span class=\"subtickertapefont\">\'+news[i]+\'</span></td></tr></table>\')
document.tickertape.document.subtickertape.document.close()
}
else if (document.all){
document.all.subtickertape.innerHTML=\'<table width=\"100%\" border=0 align=\"center\"><tr><td align=\"center\" valign=\"top\"><span class=\"subtickertapefont\">\'+news[i]+\'</span></td></tr></table>\';
}
else if (document.getElementById){
document.getElementById(\"subtickertape\").innerHTML=\'<table width=\"100%\" border=0 align=\"center\"><tr><td align=\"center\" valign=\"top\"><span class=\"subtickertapefont\">\'+news[i]+\'</span></td></tr></table>\';
}

if (i<news.length-1)
i++
else
i=0
setTimeout(\"update()\",speed)
}

function BgFade(red1, grn1, blu1, red2, grn2, blu2, steps) {
sred = red1; sgrn = grn1; sblu = blu1;
ered = red2; egrn = grn2; eblu = blu2;
inc = steps;
step = 0;
RunFader();
}
function RunFader() {
var epct = step/inc;
var spct = 1 - epct;

if (document.layers){
tickerobject.bgColor =
Math.floor(sred * spct + ered * epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct);
}
else if(document.all || document.getElementById){
tickerobject.backgroundColor=
Math.floor(sred * spct + ered * epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct);
}

if ( step < inc ) {
setTimeout(\'RunFader()\',50);
}
step++;
}


}
</script>   

</body>
</html>
Avatar billede jakoba Nybegynder
02. november 2001 - 18:51 #1
Der var rod i dine { og }. fandt den først da jeg laved indrykninger.

<html>
<head>
<Style type=\"text/css\">
#tickertape{
position:relative;
layer-background-color:black;
left:0;
top:0;
height:20;
}

#subtickertape{
background-color:black;
position:absolute;
left:0;
top:0;
border: 1px solid black;
height:20;
text-align: center;
}

.subtickertapefont{
top:0;
font:bold 12px Tahoma;
text-decoration:none;
color:white;
text-align: center;
}

.subtickertapefont a{
top:0;
color:white;
text-decoration:none;
text-align: center;
}
</style>

<Script Language=\"Javascript\"> <!--

var ns4 = (document.layers)? true : false;
var ie  = (document.all) ? true : false;
var ns6 = (document.getElementById)? true : false;

if(ns4)document.write(\'<style type=\"text\'+\'/\'+\'css\">#subtickertape{width:150%;}<\'+\'/\'+\'style>\');
if(ie||ns6)document.write(\'<style type=\"text\'+\'/\'+\'css\">#subtickertape{width:100%;}<\'+\'/\'+\'style>\');

// --> </script>
</head>

<body onload=\"if(ie||ns4||ns6){regenerate2();update()}\">

<Script Language=\"Javascript\"> <!-- // det skader aldrig og KAN hjælpe

if( ( ie || ns4 || ns6) && navigator.userAgent.indexOf(\'Win\')!= -1) {
document.write(\'<div id=\"tickertape\" align=\"center\"><div id=\"subtickertape\" class=\"subtickertapefont\" align=\"center\">Initializing...</div></div>\')
}

var speed=5000

var news = new Array()
news[0]=\'test\';
news[1]=\'test1\';
news[2]=\'test2\';
news[3]=\'test3\';
news[4]=\'test4\';

var i = 0;
var tickerobject;            // i regenerate2() så den først sættes onload
var inc, step, tmp;          // \\
var sred, sgrn, sblu;        //  > erklæeres som variable i dette objekt
var ered, egrn, eblu;        // /

function regenerate() {
    window.location.reload()
}
function regenerate2(){
    if (ie) {
        tickerobject=document.all.subtickertape.style
    } else
    if (ns4) {
        tickerobject=document.tickertape.document
        setTimeout(\"window.onresize=regenerate\",450);
    } else
    if (ns6) {
        tickerobject=document.getElementById(\"subtickertape\").style
    }
}

var tabStart = \'<t\\able width=\"100%\" border=0 align=\"center\"><tr><td align=\"center\" valign=\"top\"><s\\pan class=\"subtickertapefont\">\'
var tabSlut  = \'</s\\pan></td></tr></t\\able>\'

function update(){
    BgFade(0xff,0xff,0xff,0x00,0x00,0x00,10);
    if (ns4){
        document.tickertape.document.subtickertape.document.write(tabStart
                                                        +news[i]+tabSlut);
        document.tickertape.document.subtickertape.document.close()
    } else
    if (ie){
        document.all.subtickertape.innerHTML=tabStart+news[i]+tabSlut;
    } else
    if (ns6){
        document.getElementById(\"subtickertape\").innerHTML=tabStart+news[i]+tabSlut;
    }

    if ( ++i>=news.length ) i=0;

    setTimeout(\"update()\",speed)
}

function BgFade(red1, grn1, blu1, red2, grn2, blu2, steps) {
    sred = red1; sgrn = grn1; sblu = blu1;
    ered = red2; egrn = grn2; eblu = blu2;
    inc = steps;
    step = 0;
    RunFader();
};

function RunFader() {
    var epct = step/inc;
    var spct = 1 - epct;
    if (ns4) {
        tickerobject.bgColor =
            Math.floor(sred * spct + ered * epct)*256*256 +
            Math.floor(sgrn * spct + egrn * epct)*256 +
            Math.floor(sblu * spct + eblu * epct);
    } else
    if(ie||ns6) {    // Jeg mener  \'rgb(rød,grøn,blå)\' er mere korrekt
        tickerobject.backgroundColor = \"rgb(\" +
            Math.floor(sred * spct + ered * epct) +\",\" +
            Math.floor(sgrn * spct + egrn * epct) +\",\" +
            Math.floor(sblu * spct + eblu * epct) +\")\";
    }

    if ( ++step <= inc ) setTimeout(\'RunFader()\',100);
}

// --> </script> 

</body>
</html>
Avatar billede sp Nybegynder
02. november 2001 - 20:34 #2
Jeg kigger på det. Jeg har ikke selv lavet scriptet, men fundet det på nettet
Avatar billede sp Nybegynder
03. november 2001 - 01:48 #3
Ja så virker det !
Avatar billede sp Nybegynder
03. november 2001 - 17:04 #4
Hej Jacob.

Kan du lave det så det også virker i Opera???

Jeg har lige optimeret mit site til Opera, så det kunne være rart hvis det også virkede der, men der står ikke andet end \"Initilizing...\" i Opera 5...

mvh
Søren Peter
Avatar billede jakoba Nybegynder
03. november 2001 - 17:35 #5
Ikke umiddelbart.
Jeg kan hverken få Opera til at ændre teksten eller baggrundsfarven :(
Det kan nok være det er muligt, men pt ikke for mig.

mvh JakobA
Avatar billede jakoba Nybegynder
03. november 2001 - 17:38 #6
men hvis du nu skriver:

if( ( ie || ns4 || ns6) && navigator.userAgent.indexOf(\'Win\')!= -1) {
document.write(\'<div id=\"tickertape\" align=\"center\"><div id=\"subtickertape\" class=\"subtickertapefont\" align=\"center\">\'+news[news.length-1]+\'</div></div>\')
}

viser den i det mindste en af nyhederne istedet for det der \"initializing...\"
Avatar billede sp Nybegynder
03. november 2001 - 17:52 #7
Jeg har fundet noget Crossbrowser på nettet.
http://www.webbwoman.com/articles/XBDHTML/XBtable.html
jeg har også prøvet lidt selv.

var op5= (document.getElementById && (navigator.userAgent.indexOf(\"Opera 5\") != -1))? true : false;

// den her virker(retunerer 49 i Op5)

if( (( ie || ns4 )&& navigator.userAgent.indexOf(\'Win\')!= -1) || ns6|| op5) {
document.write(\'<div id=\"tickertape\" align=\"center\"><div id=\"subtickertape\" class=\"subtickertapefont\" align=\"center\">Initializing...<\'+\'/\'+\'div><\'+\'/\'+\'div>\')
}


var speed=5000

var news=new Array()
   

news[0]=\'test\';
news[1]=\'test1\';
news[2]=\'test2\';
news[3]=\'test3\';
news[4]=\'test4\';
<%
   
%>
//expand or shorten this list of messages as desired
   
       
var i = 0;
var tickerobject;            // i regenerate2() så den først sættes onload
var inc, step, tmp;          // \\
var sred, sgrn, sblu;        //  > erklæeres som variable i dette objekt
var ered, egrn, eblu;        // /

function regenerate() {
    window.location.reload()
}
function regenerate2(){
    if (ie) {
        tickerobject=document.all.subtickertape.style
    } else
    if (ns4) {
        tickerobject=document.tickertape.document
        setTimeout(\"window.onresize=regenerate\",450);
    } else
    if (ns6||op5) {
        tickerobject=document.getElementById(\"subtickertape\").style
    }
}

var tabSlut  = \'</s\\pan></td></tr></t\\able>\'

function update(){
    BgFade(0xff,0xff,0xff,0x00,0x00,0x00,10);
    if (ns4){
        var tabStart = \'<t\\able width=\"100%\" border=0 align=\"center\" cellpadding=\"1\" cellspacing=0><tr><td align=\"center\" width=\"100%\" valign=\"top\"><s\\pan class=\"subtickertapefont\">\'

        document.tickertape.document.subtickertape.document.write(tabStart+news[i]+tabSlut);                                                 
        document.tickertape.document.subtickertape.document.close()
    } else {
        var tabStart = \'<t\\able width=\"100%\" border=0 align=\"center\" cellpadding=\"4\" cellspacing=0><tr><td align=\"center\" width=\"100%\" valign=\"top\"><s\\pan class=\"subtickertapefont\">\'

       
    if (ie){
        document.all.subtickertape.innerHTML=tabStart+news[i]+tabSlut;
    } else
    if (ns6||op5){
        document.getElementById(\"subtickertape\").innerHTML=tabStart+news[i]+tabSlut;
    }
}
    if ( ++i>=news.length ) i=0;

    setTimeout(\"update()\",speed)
}

function BgFade(red1, grn1, blu1, red2, grn2, blu2, steps) {
    sred = red1; sgrn = grn1; sblu = blu1;
    ered = red2; egrn = grn2; eblu = blu2;
    inc = steps;
    step = 0;
    RunFader();
};

function RunFader() {
    var epct = step/inc;
    var spct = 1 - epct;
    if (ns4) {
        tickerobject.bgColor =
            Math.floor(sred * spct + ered * epct)*256*256 +
            Math.floor(sgrn * spct + egrn * epct)*256 +
            Math.floor(sblu * spct + eblu * epct);
    } else
    if(ie||ns6) {    // Jeg mener  \'rgb(rød,grøn,blå)\' er mere korrekt
        tickerobject.backgroundColor = \"rgb(\" +
            Math.floor(sred * spct + ered * epct) +\",\" +
            Math.floor(sgrn * spct + egrn * epct) +\",\" +
            Math.floor(sblu * spct + eblu * epct) +\")\";
    }else
        if(op){
                        tickerobject.background = \"rgb(\" +
            Math.floor(sred * spct + ered * epct) +\",\" +
            Math.floor(sgrn * spct + egrn * epct) +\",\" +
            Math.floor(sblu * spct + eblu * epct) +\")\";
        }
       
    if ( ++step <= inc ) setTimeout(\'RunFader()\',50);
}


    //-->
</script>   
       
    Det virker dog stadig ikke helt...   
Avatar billede jakoba Nybegynder
03. november 2001 - 18:23 #8
Det var dog en herlig tabel. tak for den.

ændring af baggrundsfarve skulle så virke i op5 (NB: du tester på \'op\' som ikke findes). (rækken \"Layer Background Color\")

men ændring af indholdet i den div virker vist ikke i nogen af opera versionerne (rækken \"Content of Layer\")

mvh JakobA
Avatar billede sp Nybegynder
03. november 2001 - 18:42 #9
Nåh ja jeg kan godt se at jeg søger på op. der skulle stå op5.

Og innerHTML understøttes ikke af Opera. Så det er nok ikke muligt at lave det

mvh
Søren Peter
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