2011-07-20 106 views
0

我在點擊某個按鈕時更改圖像的目標文件夾時發生問題,並在保留新選定的文件夾時將此圖像的src更改爲鼠標懸停在另一個元素上。jQuery更改img和文件夾src

我的代碼是在這裏,與jQuery的摘錄在這裏:

<script type="text/javascript"> 
$(document).ready(function(){ 
    imgFldr = 'period-black'; 

    //click the hardware buttons and change the folder where the images are coming from, but not the image itself (by name) 
    $('#standardBlack').click(function(){ 
     $("#pic").attr("src",'standard-black/'+$("#pic").attr("src").split('/')[1]); 
    }); 

    $('#standardGold').click(function(){ 
     $("#pic").attr("src",'standard-gold/'+$("#pic").attr("src").split('/')[1]); 
    }); 

    $('#standardChrome').click(function(){ 
     $("#pic").attr("src",'standard-chrome/'+$("#pic").attr("src").split('/')[1]); 
    }); 

    //on hovering the 21 or 24 colour options, change the colour of the image but not the folder 
    $('#black').hover(function(){ 
     $("#pic").attr("src",imgFldr+"/black.jpg"); 
    }); 
    $('#blueGrey').hover(function(){ 
     $("#pic").attr("src",imgFldr+"/blue-grey.jpg"); 
    }); 

    $('#burgundy').hover(function(){ 
     $("#pic").attr("src",imgFldr+"/burgundy.jpg"); 
    }); 

}); 
</script> 

請告訴我發生的事情是,一旦你將鼠標懸停在SRC切換按鈕,將文件夾又回到了原來的變量,但它應該保持所選文件夾。

關於如何正常工作的任何想法?

回答

0

如果我理解正確的是什麼腳本的作用:

$('#standardBlack').click(function(){ 
    $("#pic").attr("src",'standard-black/'+$("#pic").attr("src").split('/')[1]); 
    imgFldr = 'standard-black'; 
}); 

等。

+0

謝謝Juhana。 我現在遇到了一個新問題。這個腳本在本地完美運行,但現在我在服務器上安裝了幾個文件夾,我認爲 - 無論如何,我認爲split()會導致一些問題,因爲我深入了幾個目錄。 我不明白.split('/')[1]會做什麼,但有沒有辦法讓它在最後一個斜槓後分裂? – tjcss

+0

'split('/')'使用/字符作爲分隔符創建一個字符串數組。 '[1]'選擇該數組的第二項(當數組從0開始)。查看http://stackoverflow.com/questions/3235043/last-element-of-array-in-javascript獲取拆分數組的最後一個元素的方法。 – JJJ