Avatar billede mo-bo Nybegynder
02. august 2001 - 13:56 Der er 7 kommentarer og
1 løsning

find fejlen og få 60 points

Er der nogen der kan klare denne??
Jeg har 2 funktioner på siden.

1. Et script som for JPG billeder til at fade over i hinanden (lidt alla Gif animation)

2. Et Script som for text til at scroll automatisk i en table (dhtml)

Begge scrips fungere fino, hver for sig - men ikke sammen!!!!???

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>start</title>
<link rel=\"STYLESHEET\" type=\"text/css\" href=\"css/style.css\">

        <script language=\"JavaScript1.1\">
<!--
var image1=new Image()
image1.src=\"images/fade/startmain.jpg\"
var image2=new Image()
image2.src=\"images/fade/startmain1.jpg\"
var image3=new Image()
image3.src=\"images/fade/startmain2.jpg\"
var image4=new Image()
image4.src=\"images/fade/startmain3.jpg\"

//-->
</script>
<style type=\"text/css\">
<!--
.CURSER {  cursor: nw-resize}

-->
</style>


</head>

<body bgcolor=\"#000000\" leftmargin=\"10\" marginwidth=\"10\" topmargin=\"10\" marginheight=\"10\" onLoad=\"slideit()\">
<center>
            <table background=\"images/start_bg.gif\" width=\"770\" height=\"450\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr><td valign=\"top\">

<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" backgrund=\"images/trans.gif\">
<tr backgrund=\"images/trans.gif\" height=\"80\"><td height=\"80\" background=\"images/trans.gif\" width=\"40\" colspan=\"2\"><img src=\"images/trans.gif\"></td></tr>
<tr backgrund=\"images/trans.gif\">
                                <td width=\"40\" backgrund=\"images/trans.gif\" background=\"images/trans.gif\"><img src=\"images/trans.gif\"></td>
                                <td backgrund=\"images/trans.gif\" background=\"images/trans.gif\">
                                    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
                                        <tr height=\"66\">
                                            <td width=\"66\" height=\"66\" background=\"images/trans.gif\">
</td>
                                            <td height=\"66\" background=\"images/trans.gif\"><a href=\"home.asp\" onMouseOver=\"document.images[2].src=\'images/knapper/forside_ov.gif\';\"
onMouseOut=\"document.images[2].src=\'images/knapper/forside.gif\';\"><img src=\"images/knapper/forside.gif\" border=\"0\" width=\"66\"></a></td>
                                            <td rowspan=\"3\" width=\"200\" bgcolor=\"white\" background=\"images/trans.gif\">
                                                <script>
<!--
////change number of images below
var number_of_images=4
//change speed below (in seconds)
var speed=3
var step=1
var whichimage=1
function slideit(){
if (!document.images)
return
if (document.all)
slide.filters.blendTrans.apply()
document.images.slide.src=eval(\"image\"+step+\".src\")
if (document.all)
slide.filters.blendTrans.play()
whichimage=step
if (step<number_of_images)
step++
else
step=1
if (document.all)
setTimeout(\"slideit()\",speed*1000+3000)
else
setTimeout(\"slideit()\",speed*1000)
}

//-->
</script>
                                                <img src=\"images/fade/startmain.jpg\" name=\"slide\" border=\"0\" style=\"filter:blendTrans(duration=3)\" class=\"CURSER\" width=\"200\" height=\"200\">
</td>
                                            <td rowspan=\"3\" width=\"200\" bgcolor=\"#cccccc\" background=\"images/trans.gif\" valign=\"top\">
                                                <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"200\" width=\"200\">
                                                    <tr height=\"19\">
                                                        <td width=\"10\" height=\"19\"></td>
                                                        <td width=\"10\" height=\"19\"></td>
                                                    </tr>
                                                    <tr>
                                                        <td width=\"10\"></td>
                                                        <td width=\"10\" valign=\"top\">
                                                            <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"190\">
                                                                <tr height=\"19\">
                                                                    <td height=\"19\" width=\"190\"><span class=\"menuover\">overskrift</span></td>
                                                                </tr>
                                                                <tr height=\"162\">
                                                                    <td width=\"190\" height=\"162\" valign=\"top\">
<script language=\"JavaScript1.2\">

/*
Cross browser marquee script II-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100\'s more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/


//Specify the marquee\'s width (in pixels)
var marqueewidth=180
//Specify the marquee\'s height
var marqueeheight=150
//Specify the marquee\'s scroll speed (larger is faster)

var speed1=1
//Specify the marquee contents
var marqueecontents=\'<span class=\"menu\"><br>kdsjbfkljdsbflkdsabfkjabdsflkjbalsd</span>\'

if (document.all)
document.write(\'<marquee direction=\"up\" scrollAmount=\'+speed1+\' style=\"width:\'+marqueewidth+\';height:\'+marqueeheight+\'\">\'+marqueecontents+\'</marquee>\')

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

function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.height
scrollit()
}

function scrollit(){
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout(\"scrollit()\",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight
scrollit()
}
}

window.onload=regenerate2
</script>
                                                            <ilayer width=&{marqueewidth}; height=&{marqueeheight}; name=\"cmarquee01\">
                                                                <layer name=\"cmarquee02\" width=&{marqueewidth}; height=&{marqueeheight};></layer>
                                                            </ilayer>



</td>
                                                                </tr>
                                                            </table>
                                                        </td>
                                                    </tr>
                                                </table>
                                            </td>
                                            <td rowspan=\"2\" background=\"images/trans.gif\"></td>
                                        </tr>
                                        <tr>
                                            <td width=\"66\" background=\"images/trans.gif\"><a href=\"home.asp\" onMouseOver=\"document.images[4].src=\'images/knapper/erhverv_ov.gif\';\"
onMouseOut=\"document.images[4].src=\'images/knapper/erhverv.gif\';\"><img src=\"images/knapper/erhverv.gif\" width=\"66\" border=\"0\"></a></td>
                                            <td width=\"67\"></td>
                                        </tr>
                                        <tr>
                                            <td background=\"images/trans.gif\">
</td>
                                            <td><a href=\"home.asp\" onMouseOver=\"document.images[5].src=\'images/knapper/udstillinger_ov.gif\';\"
onMouseOut=\"document.images[5].src=\'images/knapper/udstillinger.gif\';\"><img src=\"images/knapper/udstillinger.gif\" border=\"0\" width=\"66\"></a></td>
                                            <td rowspan=\"2\" valign=\"top\"><img src=\"images/trans.gif\" width=\"133\" height=\"200\" border=\"0\"></td>
                                        </tr>
                                        <tr height=\"150\">
                                            <td colspan=\"2\" height=\"150\"></td>
                                            <td width=\"200\" height=\"150\"></td>
                                            <td width=\"200\" height=\"150\"></td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>

</table>








</td></tr>



</table>
        </center>       
                   
</body>
</html>
Avatar billede NanoQ Nybegynder
02. august 2001 - 13:59 #1
Hmmm... hvad er det der ikke fungerer? - umiddelbart fungerer det fint her...
Avatar billede jakoba Nybegynder
02. august 2001 - 14:03 #2
\'fejlen\' er at NS ikke understøtter fade. og det gør gamle IE som IE4 heller ikke.

mvh JakobA
Avatar billede jakoba Nybegynder
02. august 2001 - 14:08 #3
pjat med mig. sorry
Avatar billede mo-bo Nybegynder
02. august 2001 - 14:09 #4
nej jeg er godt klar over at fade funktionen ikke virker i NS, men så hopper den bare til næste billede uden at fade - og det er fint. Men den fader eller hopper ikke til næste billede imens texten scroll\'er - Jeg har en teori om at det er fordi begge scrips spørger efter (document.all)!!??
Avatar billede mo-bo Nybegynder
02. august 2001 - 14:11 #5
jeg godtager også et svar hvis der er et godt alternativ - eks andre scripts
Avatar billede mo-bo Nybegynder
02. august 2001 - 14:24 #6
Er det muligt at skifte et billede efter feks 3 sec, uden den skal reloade siden??
Avatar billede jakoba Nybegynder
02. august 2001 - 17:49 #7
Nej,  document.all  er ikke synderen. men jeg tror du har ret i at begge scripts bruger en variabel med samme navn.
Primære mistænkte  speed  og  step.  men du har renamet speed til speed1 nede i marque scriptet; kunne der være et andet sted i marque scriptet du har glemt at ændre navnet?

en god måde at sikre at der ikke er navnesammenfald er at lave et objekt der indeholder alle variable for hvert script.

for dit simple fading script ville det blive til:

i head:
<script language=\"JavaScript1.1\"> <!--
var fadeVars = new Object();
fadeVars.image1=new Image();
fadeVars.image1.src=\"images/fade/startmain.jpg\";
fadeVars.image2=new Image();
fadeVars.image2.src=\"images/fade/startmain1.jpg\";
fadeVars.image3=new Image();
fadeVars.image3.src=\"images/fade/startmain2.jpg\";
fadeVars.image4=new Image();
fadeVars.image4.src=\"images/fade/startmain3.jpg\";
fadeVars.th = 0;                // ny line med ny variabel
//--> </script>

og i body:
<script language=\"JavaScript1.1\"> <!--

////change number of images below
fadeVars.number_of_images=4;
//change speed below (in seconds)
fadeVars.speed=3;
fadeVars.step=1;
fadeVars.whichimage=1;
function slideit(){
    if (!document.images)
        return;
    if (document.all)
        slide.filters.blendTrans.apply(); //mener du document.images.slide...
    document.images.slide.src=eval(\"image\"+step+\".src\");
    if (document.all)
        slide.filters.blendTrans.play();  //mener du document.images.slide...
    fadeVars.whichimage=fadeVars.step;
    if (fadeVars.step<fadeVars.number_of_images)
        fadeVars.step++
    else
        fadeVars.step=1;
    if (document.all)
        fadeVars.th = setTimeout(\"slideit()\",fadeVars.speed*1000+3000)
    else
        fadeVars.th = setTimeout(\"slideit()\",fadeVars.speed*1000);
};

// --> </script>

Jeg har desuden oprettet en ny variabel  fadeVars.th  til at håndtere setTimeout.
Lidt et gæt, men du har  setTimeout(...) sekvenser i begge scripts, og hvis ingen af den assignes til en variabel ku de være de går hen og bruger samme defaultvariabel.

mvh JakobA
Avatar billede mo-bo Nybegynder
02. september 2001 - 14:16 #8
takker for hjælpen, men har fundet en anden måde
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