/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Problem med Slide-banner i Firefox
Fra : Jimmy Snedker


Dato : 13-04-05 07:35

Hej NG!

Jeg har problemer med slide-banner script som jeg har fundet på
nettet. Scriptet virker selvfølgelig fint i EI (typisk), men
Firefox brokker sig.

Scriptet er som følger:

Mit asp-dokument;

<SNIP>
<script language="javascript"
src="javascript/banner.js"></script>
</head>

<body onload="SlideInBanner()">
<TABLE id="bannerimage" style="Z-INDEX: 1; LEFT: -250px;
POSITION: absolute; TOP: -250px; filter: alpha(opacity=90);"
cellSpacing="1" cellPadding="1" border="0">
<TR><TD><img id="imgBanner" onClick="HideBanner()"
src="bannere/banner1.gif" border="0" /></TD>
</TR>
</TABLE>


</SNIP>

mit eksterne javascript-dokument:

var BannerTop
BannerTop = -117
var BannerLeft
BannerLeft = 120
function SlideInBanner()
{
if ( BannerTop <= 90 ) {
var TimerKey
/// Change the BannerTop <- 100, BannerTop + 20 , BannerLeft +
40 to different values to reposition the banner
BannerTop = BannerTop + 40
BannerLeft = BannerLeft + 0
bannerimage.style.top = BannerTop
bannerimage.style.left = BannerLeft
TimerKey = setTimeout('SlideInBanner()',1) }
}
function HideBanner()
{
bannerimage.style.top = -250
bannerimage.style.left = -250
}

Når jeg tester det i firefox, sker der ingenting - Går jeg op
under "Funktioner" og ned i Javascript-consol...så får jeg denne
fejl:
Bannerimage is not defined - og henviser til linie 12 i mit
javascript dokument :
bannerimage.style.top = BannerTop

HVad er der galt? og hvordan får jeg scriptet til at virke i
begge browsere


Med venlig hilsen

Jimmy Snedker


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jimmy Snedker (13-04-2005)
Kommentar
Fra : Jimmy Snedker


Dato : 13-04-05 08:31

Hej Ng!

Jeg glemte at fortælle at mit asp-dokument var lavet i XHTML...og
da jeg fjernede disse linier i mit asp-dokument virkede det fint
i EI og FireFox:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

men er stadig nogle mulighed for at få det til at virke i XHTML??

MVH

Jimmy

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (13-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-04-05 11:06

Jimmy Snedker skrev:

> men er stadig nogle mulighed for at få det til at virke i XHTML??

Benny Nissen har givet et godt bud på noget af det der skal rettes. En
anden fejl i dit eksisterende script er at du ikke har nogen enhed på
dine værdier (alle tal på nær 0 skal i css have en enhed påhæftet).

Men det vil generelt være lettere at hjælpe dig hvis du giver et link
til din side. På den måde kan man lettere afprøve din kode.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jimmy Snedker (13-04-2005)
Kommentar
Fra : Jimmy Snedker


Dato : 13-04-05 12:04

Hej Jens!

> Benny Nissen har givet et godt bud på noget af det der skal rettes. En
> anden fejl i dit eksisterende script er at du ikke har nogen enhed på
> dine værdier (alle tal på nær 0 skal i css have en enhed påhæftet).

Jeg har forsøgt rettet nogle af fejlene i javascript-filen...så nu virker
det
halvt i FireFox, dvs bannert kommer men man kan ikke klikke det væk!!

> Men det vil generelt være lettere at hjælpe dig hvis du giver et link
> til din side. På den måde kan man lettere afprøve din kode.

http://www.samso.net/samsoeturistavis/

Håber dette hjælper en smule!

Mvh
Jimmy Snedker

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (13-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-04-05 13:32

Jimmy Snedker skrev:

> Jeg har forsøgt rettet nogle af fejlene i javascript-filen...så nu virker
> det halvt i FireFox, dvs bannert kommer men man kan ikke klikke det væk!!

Det er ganske logisk. Du bruger getElementById til at tilgå billedet når
du placerer det, men den gamle metode (bannerimage.style.top) når du
skal fjerne det igen.

Brug getElementById begge steder.

Du bør også stadig sætte enheder på koden:

document.getElementById('bannerimage').style.top = BannerTop + "px"

....
document.getElementById("bannerimage").style.top = "-250px";


> http://www.samso.net/samsoeturistavis/
>
> Håber dette hjælper en smule!

Linket hjalp meget. I Firefox kan man bruge javascriptkonsollen til at
tjekke for fejl - her er den meddelelse man får på siden nu:

Error: bannerimage is not defined
Source File: http://www.samso.net/samsoeturistavis/javascript/banner.js
Line: 18


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Benny Nissen (13-04-2005)
Kommentar
Fra : Benny Nissen


Dato : 13-04-05 08:31

Jimmy Snedker wrote:

> <TABLE id="bannerimage" style="Z-INDEX: 1; LEFT: -250px;

<snip>

> bannerimage.style.top = BannerTop
> bannerimage.style.left = BannerLeft
> TimerKey = setTimeout('SlideInBanner()',1) }
> }
> function HideBanner()
> {
> bannerimage.style.top = -250
> bannerimage.style.left = -250
> }

> Bannerimage is not defined - og henviser til linie 12 i mit
> javascript dokument :
> bannerimage.style.top = BannerTop

Du kan ikke tilgå elementer direkte i FF.
Derfor skal linierne med bannerimage laves om til noget i stil med
(utestet):

document.getElementById('bannerimage').style.top = BannerTop;

Mangler der ikke også en del ;'er efter linierne ?

--
Benny

zigma.dk (13-04-2005)
Kommentar
Fra : zigma.dk


Dato : 13-04-05 10:05

Benny Nissen wrote in dk.edb.internet.webdesign.clientside:
[...]
> Mangler der ikke også en del ;'er efter linierne ?

Så vidt jeg ved er ; ikke en obligatorisk linie-afslutning af js - Det
virker i hvert fald både med og uden

// Zigma


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (13-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-04-05 13:12

zigma.dk skrev:

> Så vidt jeg ved er ; ikke en obligatorisk linie-afslutning af js

Semikolon er obligatorisk som skilletegn mellem flere javascriptlinjer i
samme blok (på samme måde som i css og andre sprog der bruger c-lignende
syntaks).

Det er altså ikke en fejl at undlade semikolon hvor man kun har en
enkelt linje i en blok:

function sigHej(){
   alert("Hej")
}

- men det er dog en god ide altid at afslutte med semikolon. Undtaget
fra reglen om semikoloner er dog udtryk der starter en blok (for,
function, if, switch, try, og while).


> - Det virker i hvert fald både med og uden

Browsere forsøger ofte at rette op på koden - og javascript giver vist
også mulighed for at linjeskift under visse omstændigheder må fortolkes
som semikolon. Men det er bedre at bruge semikolon.

Tjek evt. javascriptkoden med JSLint:
<http://www.crockford.com/javascript/lint.html>

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Johnny Winther Ronne~ (14-04-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 14-04-05 08:47


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:1k43a11djhapf$.dlg@jcdmfdk.invalid...

> Browsere forsøger ofte at rette op på koden - og javascript giver vist
> også mulighed for at linjeskift under visse omstændigheder må fortolkes
> som semikolon. Men det er bedre at bruge semikolon.

Hvilket tit giver meget mystiske fejlmeldinger og vanskelig gør fejlfinding


Konsekvent brug af semikolon gør måske ikke koden mere korrekt rent teknisk.
Men det gør koden langt mere læsevenlig og hjælper til med at fange logiske
fejl.

>
> Tjek evt. javascriptkoden med JSLint:
> <http://www.crockford.com/javascript/lint.html>
>

En udmærket ide, men jeg syntes det er et svagt punkt, at den ikke er bygget
efter ECMA standarden, men efter et subset af Java.

Det ville være rart med en test der i lighed med testen f.eks i C++Builder
og Delphi giver en, en liste over fejl og advarsler. Hvor man så kan
koncentrere sig udelukkende om selve problemløsningen under kodningen og så
efterfølgende, når man finpudser koden, kan luge ud i de advarsler, man nu
syntes er relevante.

Med venlig hilsen
Johnny Winther Ronnenberg



Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste