Javascript: проблемы разделения и переменных - PullRequest
0 голосов
/ 07 июля 2011

В этом исполнении кода здесь:

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", что и их извлеченное слово, но когда я делаю это локальным переменным внутри функции, оно все равно не работает.

Как я могу исправить эту проблему?

1 Ответ

1 голос
/ 07 июля 2011

Я думаю, что ваша проблема может быть связана с q как с глобальным

...