2011-07-07 38 views
0

在此代碼執行此:的Javascript:分割和可變問題

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; 
} 


} 

這樣,每次點擊該圖標時,它改變了從「extractedword」 1.png的IMG SRC爲「extractedword」 2.png,來回。

當我選擇多個圖標,然後選擇另一個圖標時,我的問題就出現了 - 它在「extractword」的末尾添加了一個額外的「1」或「2」,混淆了img src鏈接。

我認爲它是由所有的圖標共享「NR」的同一個全局變量,其提取的詞造成的,但是當我做它的函數內部的局部變量它仍然無法正常工作。

我該如何解決這個問題?

+0

請縮進代碼! –

回答

1

我認爲你的問題可能與q作爲一個全球性問題有關。

var root='img/pins/'; 

function swapImg(ima){ 
    //---extract pin----// 
    var nr = ima.getAttribute('src').split('/'); 
    nr = nr[nr.length-1].split('.')[0]; 

    var q = nr.substring(nr.length-1,nr.length); 


    if(q==1) { 
     nr = nr.split('1')[0]; 
     ima.setAttribute('src',root+nr+'2.png'); 
    } else if(q==2) { 
     nr = nr.split('2')[0]; 
     ima.setAttribute('src',root+nr+'1.png'); 
    } 

    //-----------------// 

}