[Java Script] - getElementBy....What exactly?
Колеги имам нужда от малко помощ с личен проект. Опитвам се да си направя галерия, в която като кликна на снимка, тя да се увеличава и съответно намалява при втори клик. До тук добре - измислих функцията и тя работи коректно, но тук дойде друг проблем: Как да достъпя само една от картинкит а не всичките? В момента като кликна на картинка - всички се увеличават и намаляват едновременно, а аз искам само тази на която съм кликнал.
Примерен html:
<div class="indoors">
<div>
<a href="#"><img src="images/1.jpg" id="zoomer" onclick="zoomIt"> </a>
<p>каталожен номер</p>
</div>
<div>
<a href="#"><img src="images/2.jpg" id="zoomer" onclick="zoomIt()"> </a>
<p>каталожен номер</p>
</div>
</div
JavaScript функция:
function zoomIt(){
var image = document.getElementById('zoomer');
if (image.hasAttribute('class', 'expanded')) {
image.removeAttribute('class', 'expanded');
}else {
image.setAttribute('class', 'expanded');
}
}
Някакви идеи? Къде бъркам (освен, че всички имат едно и също id, но не се сещам по какъв друг начин да ги достъпя)? Има ли по лесен начин?
Супер - работи така :) А имаш ли идея как да го направя така, че като кликна върху една картинка друга(кояето е зуумната) да става отново малка? Моята идея е да ги набутам всички картинки в един масив и да им ресетвам class="expanded" . В правилна посока ли съм? Че прерових дост от инетернета днес и не успях да намеря орговор на това, което искам да напрвя, или по-скоро не знам как точно да си задам въпроса/идеята.
Ако разбирам искаш всичките, които имат клас expanded да станат нормални, когато кликнеш някоя друга. Това може много лесно да стане като избереш зумнатите (тя нали ще е само една единствена) с
var zoomed=document.getElementbyClassName('expanded');
zoomed[0].ClassName='';
Това не сработва както ми се иска или аз не правя нещо като хората. Общо взето няма никаква промяна