Avatar billede htx98i17 Professor
15. november 2008 - 11:31 Der er 8 kommentarer og
1 løsning

setInterval og style.background

Dette blinker ikke. Kan nogen fortælle hvad jeg skal lave om for at det fungerer?

<script type="text/javascript">
               
                function blink(elmID) {
                  oS = document.getElementById(elmID).style;
                  oS.background = (oS.background == "#EAEAEA url(grafik/corner.gif)") ? "#ffcc00 url(grafik/corner.gif)" : "#EAEAEA url(grafik/corner.gif)";
                }
               
                var timer = window.setInterval("blink('besked');",800);
               
            </script>

<table>
<tr>
<td class="mainsmallblack" style="background: #EAEAEA url(grafik/corner.gif)" width="60" id="besked" >&nbsp;<a href="systembesked.php" >Besked</a></td>
<tr>
</table>
Avatar billede w13 Novice
15. november 2008 - 11:40 #1
Når du f.eks. skal aflæse en farve i Firefox, så vil den ikke længere stå som #eaeaea, men derimod som rgb(234, 234, 234).

Dvs. browserne læser farver forskelligt, og derfor bør vi nok bruge en variable i stedet:

<script type="text/javascript">
var oBlink = 0;
function blink(elmID) {
    oS = document.getElementById(elmID).style;
    oS.backgroundColor = (!oBlink) ? "#ffcc00" : "#eaeaea";
    oBlink = !oBlink;
}
window.setInterval("blink('besked');",800);
</script>

<table>
    <tr>
        <td class="mainsmallblack" style="width: 55px; padding-left: 5px; background-color: #eaeaea; background-image: url(grafik/corner.gif)" id="besked" >
            <a href="systembesked.php" >Besked</a>
        </td>
    <tr>
</table>

Jeg har i øvrigt sat farven med background-color og billedet med background-image, så det bliver langt lettere at arbejde med.
Avatar billede htx98i17 Professor
15. november 2008 - 12:05 #2
Fantastisk. Tak for det.

Vil du svare på et ekstra spørgsmål?

Hvis jeg skal have den til at blinke den ene farve i et halvt sekund hver 10. sekund.
Kan man det?
Avatar billede w13 Novice
15. november 2008 - 12:15 #3
Ehm, det ved jeg ikke helt, om jeg forstår..

Skal der være 10 sekunder af den ene farve og så et halvt sekund af den anden, og så forfra?
Avatar billede htx98i17 Professor
15. november 2008 - 12:16 #4
altså

#ffcc00 ½ sekund
#eaeaea 10 skunder
#ffcc00 ½ sekund
#eaeaea 10 skunder
Avatar billede htx98i17 Professor
15. november 2008 - 12:16 #5
jep :)
Avatar billede w13 Novice
15. november 2008 - 12:20 #6
Utestet:

<script type="text/javascript">
var oBlink = 0;
function blink(elmID) {
    oS = document.getElementById(elmID).style;
    oS.backgroundColor = (!oBlink) ? "#ffcc00" : "#eaeaea";
    window.setTimeout("blink('"+elmID+"');", (!oBlink ? 10000 : 500));
    oBlink = !oBlink;
}
window.setTimeout("blink('besked');", 500);
</script>

<table>
    <tr>
        <td class="mainsmallblack" style="width: 55px; padding-left: 5px; background-color: #eaeaea; background-image: url(grafik/corner.gif)" id="besked" >
            <a href="systembesked.php" >Besked</a>
        </td>
    <tr>
</table>
Avatar billede w13 Novice
15. november 2008 - 12:21 #7
Her bruger jeg bare setTimeout i stedet for setInterval.

Forskellen er jo, at et timeout kun køres én gang, hvor interval gentages.

På den måde kan jeg i funktionen bestemme, hvornår det næste timeout skal forekomme.
Avatar billede htx98i17 Professor
15. november 2008 - 12:26 #8
super. det fungere. Tak for hjælpen
Avatar billede w13 Novice
15. november 2008 - 12:33 #9
Tak for points! :)
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

IT-JOB