Plaatje veranderd niet...

Status
Niet open voor verdere reacties.

slabbetje

Gebruiker
Lid geworden
5 mei 2007
Berichten
290
Ik ben bezig met een news reader die je kan in en uit klappen...
Werkt prima alleen het plaatje past zich niet aan wanneer je op het plusje klikt...

Kunnen jullie me misschien op weg helpen...?

Deze code staat in mn head

HTML:
		<script type="text/javascript">
			function shownews(a,div){   
				var divje = document.getElementById(div);   
				if (divje.style.display == "block")   {      
					divje.style.display = "none";      
					document.getElementById(a).src="content/img/navigator_plus.png";
				}
				else {      
					divje.style.display = "block";      
					document.getElementById(a).src="content/img/navigator_min.png";
				}
			}
		</script>

En in mn body roep ik de functie als volgt aan.
HTML:
<img src="content/img/navigator_plus.png" alt="Open/Close news article 1" onclick="shownews(this,'news_artikel1');" />

Alvast bedankt,

Michael
 
Waarschijnlijk zoekt het script zich rot naar het getElementById(news_artikel1). ;)

Zou het helpen als je het <img> het <img id="news_artikel1" ... > meegeeft?

Met vriendelijke groet,
CSShunter
 
Niet alleen dat, maar er staan een paar dingen niet helemaal goed.

Ten eerste: een this in een functie-aanroep (zoals bij jou het geval is bij de onclick is automatisch een 'handle' naar dit element. Je hoeft er dan dus geen 'getElementById()' voor te gebruiken. Ten tweede (een correctie op cssHunter): de div die je aanroept (ik neem tenminste aan dat het een div is) moet je het ID geven, niet de <img> tag.

Een correcte versie van jouw script:
[JS]function shownews(a,div){
var divje = document.getElementById(div).style;
if (divje.display == "block")
{
divje.display = "none";
a.src="content/img/navigator_plus.png";
}else {
divje.display = "block";
a.src="content/img/navigator_min.png";
}
}[/JS]
en de aanroep:
HTML:
<div id='news_artikel1'>Kijk mij!</div>

<img src="content/img/navigator_plus.png"
     alt="Open/Close news article 1"
     onclick="shownews(this,'news_artikel1');"
 />

noot dat ik de 'divje.style' ineen heb genomen bij de getElementById() call. Scheelt typwerk ;) maar is natuurlijk hetzelfde als eerst.
:thumb:
 
Laatst bewerkt:
juist dat wou ik weten het werkt perfect :p altijd leuk als je niet sterk in javascript bent loop je altijd tegen zulke domme problemen aan

p.s. dat van die div wist ik al hoor dat werkte ook wel alleen het plaatje aanpassen niet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan