webForumDet fria alternativet

onmouseover via endast javascript

12 svar · 334 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

jag har ett problem:
jag skulle vilja ha en hover-effekt på en bild.
problemet är att jag inte har tillgång till sidan så jag kan inte göra en vanlig onmouseover="doHover();" i koden där bilden ligger.
men däremot har jag behörighet att inkludera ett javascript på sidan.
så: kan man via endast ett javascript göra en onmouseover effekt på min bild?

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Har bilden ett speciellt id eller ett class-namn?

doggelitoMedlem sedan juni 20003 076 inlägg
#3

ett id kommer att finnas på bilden. :)

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

Om du vet src kan följande vara något:

window.onload=function(){
for (i in document.images){
if (document.images[i].src.toLowerCase().indexOf("bild1.gif")!=-1){
document.images[i].onmouseover = function(){this.src="bild1_hover.gif"}
document.images[i].onmouseout = function(){this.src="bild1.gif"}
}

if (document.images[i].src.toLowerCase().indexOf("bild2.gif")!=-1){
document.images[i].onmouseover = function(){this.src="bild2_hover.gif"}
document.images[i].onmouseout = function(){this.src="bild2.gif"}
}

}

}
nitro2k01Medlem sedan aug. 20039 342 inlägg
#5

Och om du vet id, så är metoden nästan likadan:

window.onload=function(){
for (i in document.images){
if (document.images[i].id="id1"){
document.images[i].onmouseover = function(){this.src="bild1_hover.gif"}
document.images[i].onmouseout = function(){this.src="bild1.gif"}
}

if (document.images[i].id="id2"){
document.images[i].onmouseover = function(){this.src="bild2_hover.gif"}
document.images[i].onmouseout = function(){this.src="bild2.gif"}
}

}

}

:)

doggelitoMedlem sedan juni 20003 076 inlägg
#6

va fint! :)
följdfråga:
min bild kommer att agera submitknapp i ett formulär och jag vet för tillfället inte om de som tillverkar sidan kommer att lägga bilden som en img-tagg eller input type="image".
koden ovan funkar ju om det är en img-tagg, men hur skulle koden se ut om det var en input type="image"?

icaaqMedlem sedan okt. 20005 273 inlägg
#7

Hur ska du kunna använda den som en submitknapp om det bara är en img :OO

mv icaaq

nitro2k01Medlem sedan aug. 20039 342 inlägg
#8

Denna kod funkar för både och, bara du får id rätt.

window.onload=function(){
if (!document.all) document.all = document.getElementsByTagName("*");
for (i in document.all){
if (document.all[i].id="id1"){
document.all[i].onmouseover = function(){this.src="bild1_hover.gif"}
document.all[i].onmouseout = function(){this.src="bild1.gif"}
}

if (document.all[i].id="id2"){
document.all[i].onmouseover = function(){this.src="bild2_hover.gif"}
document.all[i].onmouseout = function(){this.src="bild2.gif"}
}

}

}
nitro2k01Medlem sedan aug. 20039 342 inlägg
#9

icaaq skrev:

Hur ska du kunna använda den som en submitknapp om det bara är en img :OO

mv icaaq

T ex

<img src="..." onclick="document.forms['formen'].submit();">

:stud

doggelitoMedlem sedan juni 20003 076 inlägg
#10

jag bockar å bugar nitro2k01! :bire

icaaqMedlem sedan okt. 20005 273 inlägg
#11

nitro2k01 skrev:

icaaq skrev:

Hur ska du kunna använda den som en submitknapp om det bara är en img :OO

mv icaaq

T ex

<img src="..." onclick="document.forms['formen'].submit();">

:stud

Ja, det är iofs klart. Min tanke var att om dem som gör sidan bara anger den som img utan något onClick-event.

Men det kanske man kan lösa genom att hitta bilden och sedan sätta ett sådant event....

jaja hoppas att det löser sig :)

mv icaaq

doggelitoMedlem sedan juni 20003 076 inlägg
#12

mm, jag vet som sagt inte just nu hur de (3-part) kommer att koda, mina instruktioner är bara att bifoga en submitknapp som bild.

det blir säkert finfint i slutändan! :)

dectgapMedlem sedan sep. 20021 655 inlägg
#13

Varför en så onödigt komplicerad lösning, nitro?

Vad har du emot getElementById() ?

var elm = document.getElementById('id1');
if(elm) {
	elm.onmouseover = function(){ ... }
	elm.onmouseout  = function(){ ... }
}
131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)