Avatar billede Slettet bruger
10. april 2007 - 14:03 Der er 9 kommentarer og
1 løsning

2 med samme ID

Hej

Jeg har lavet den her kode:

<script type="text/javascript">
function Over()
{
document.images.Left.src="../Grafik/Knap/LeftO.gif"
document.images.Right.src="../Grafik/Knap/RightO.gif"
document.getElementById('Middle').className="Middle0"
}
function Out()
{
document.images.Left.src="../Grafik/Knap/Left.gif"
document.images.Right.src="../Grafik/Knap/Right.gif"
document.getElementById('Middle').className="Middle"
}
</script>
<table cellpadding="0" cellspacing="0" align="right" onmouseover="Over(); this.style.cursor='pointer'" onmouseout="Out()" onclick="document.Form.submit();">
    <tr>
        <td><img src="../Grafik/Knap/Left.gif" id="Left" alt="Left" /></td>
        <td class="Middle" id="Middle">Tekst</td>
        <td><img src="../Grafik/Knap/Right.gif" alt="Right" id="Right" /></td>
    </tr>
</table>

Men hvis så vil have to knappe på engang så driller den. Og skifter billeder på den første.

Men hvordan kan jeg rette JavaScripten så jeg ikke skal lave 2 over og out functioner for at have 2 knapper på samme side?
Avatar billede sw_red_6 Nybegynder
10. april 2007 - 14:06 #1
du kunne sende en variabel til funktionen og bruge den til at bestemme hvilket billede der skal vises..
Avatar billede Slettet bruger
10. april 2007 - 14:32 #2
Jeg bruger ALDRIG rigtigt JavaScript så har ikke rigtigt lært det. Vil du gøre det for mig?:)
Avatar billede roenving Novice
10. april 2007 - 14:47 #3
Når du bruger id skal du ikke bruge images-arrayet (selvom det vistnok virker i visse browsere !-), men document.getElementById (og så dur det også den dag browserne begynder at være i stand til at fortolke rigtig xhtml, for der er det forbudt at bruge disse collections)

-- og at skifte className on-the-fly er verdens dårligste ide, for det, at du ændrer een detalje på eet element, vil betyde at _alt_ der har med sidens udseende at gøre beregnes helt forfra ...

-- desuden er det en avanceret tåbelighed at sætte cursorens udseende ved mouseover, det er jo i forvejen på det tidspnkt en specificeet cursor vil virke ...

-- og så forstår jeg ikke lige hvad du mener med to knapper, for i dit eksempel er der jo præcis to knapper, og id betyder _unik_ identifikator, der må altså, præcis som med f.eks. personnumre, ikke være to elementer med det samme id ...

-- hvis du skulle have flere udgaver, kunne det se sådan ud:

<script type="text/javascript">
function Over(id0,id11){
document.getElementById(id0).src="../Grafik/Knap/LeftO.gif";
document.getElementById(id1).src="../Grafik/Knap/RightO.gif";
document.getElementById('Middle').style.color="#fa2";//Et eksempel på det, du bør gøre ved style !o]
}
function Out(){
document.getElementById(id0).src="../Grafik/Knap/Left.gif";
document.getElementById(id1).src="../Grafik/Knap/Right.gif";
document.getElementById('Middle').style.color="";
}
</script>
<table cellpadding="0" cellspacing="0" align="right" onmouseover="Over('Left','Right');" onmouseout="Out('Left','Right')" style="cursor:pointer;" onclick="document.Form.submit();">
Avatar billede Slettet bruger
10. april 2007 - 15:02 #4
Jeg har prøvet her med din JS kode. Men virker ikke helt. Den gider kun at skifte billede ved Lefts ikke i rights

<table cellpadding="0" cellspacing="0" align="right" onmouseover="Over('Lefts','Rights');" onmouseout="Out('Lefts','Rights')" onclick="document.Form.submit();">
    <tr>
        <td><img src="../Grafik/Knap/Left.gif" id="Lefts" alt="Left" /></td>
        <td class="Middle" id="Middle">Nyeste</td>
        <td><img src="../Grafik/Knap/Right.gif" alt="Rights" id="Rights" /></td>
    </tr>
</table>
Avatar billede roenving Novice
10. april 2007 - 15:12 #5
Argh, der er kommet et 1-tal for meget i funktionsdefinitionen:

function Over(id0,id1){
Avatar billede roenving Novice
10. april 2007 - 15:12 #6
-- og Out skal selvfølgelig også ændres:

function Out(id0,id1){
Avatar billede Slettet bruger
10. april 2007 - 15:15 #7
Ok, så har jeg fjernet Classnamen men hvordan får jeg så denne her til at virker:

document.getElementById(id3).style.background="../Grafik/Knap/MiddleO.gif"
Avatar billede Slettet bruger
10. april 2007 - 15:21 #8
Fandt ud af det. Post et svar:)
document.getElementById(id3).style.background="url('../Grafik/Knap/MiddleO.gif')"
Avatar billede roenving Novice
10. april 2007 - 15:25 #9
Velbekomme '-)
Avatar billede roenving Novice
10. april 2007 - 15:45 #10
-- og tak for point ;~}
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