В этом исполнении кода здесь:
http://sandrayoon.com/UAI/www3/newpin.php
Я написал JS-функцию, которая захватывает источник изображения с нажатой иконкой и извлекает нужное слово в переменную "nr":
var root='img/pins/';
var q=0;
var nr;
function swapImg(ima){
//---extract pin----//
if(q==0)
{
nr = ima.getAttribute('src').split('/');
nr = nr[nr.length-1].split('.')[0];
nr = nr.split('1')[0];
}
else if(q==1)
{
nr = ima.getAttribute('src').split('/');
nr = nr[nr.length-1].split('.')[0];
nr = nr.split('2')[0];
}
//-----------------//
if(q==0)
{
ima.setAttribute('src',root+nr+'2.png');
q=1;
//document.write (nr);
}
else if(q==1)
{
ima.setAttribute('src',root+nr+'1.png');
q=0;
}
}
Таким образом, каждый раз при щелчке по значку он изменяет img src с «extractword» 1.png на «extractword» 2.png, туда и обратно.
Моя проблема заключается в том, что когда выбрано более одного значка, а затем выбран другой значок, он добавляет дополнительные «1» или «2» в конце «извлеченного слова», что приводит к путанице в ссылке img src.
Я думаю, что это вызвано тем, что все значки имеют одну и ту же глобальную переменную "nr", что и их извлеченное слово, но когда я делаю это локальным переменным внутри функции, оно все равно не работает.
Как я могу исправить эту проблему?