2013-01-14 222 views
0

我的網頁上有一個div,裏面有一個圖像,點擊div展開後,我將圖像轉換爲相應的hi分辨率版本。使用jQuery切換高分辨率圖像和低分辨率圖像

我用下面這樣...

$('.work-showcase').click(function(){ 
    if (!$(this).hasClass('active')){ 
     var img = $(this).find('ul li img'); 
     img.attr('src', function(i, value) { 
      return '_includes/images/work/hires/' + value; 
     }); 
    } else { 
     var img = $(this).find('ul li img'); 
     img.attr('src', function(i, value) { 
      return '' + value; 
     }); 

    }; 
}); 

我的問題是最後一部分,但是我需要刪除'_includes /圖片/工作/員工/「」

能有人推薦一個解決方案?

+0

解決方案到底是什麼? –

回答

3

您需要刪除附加路徑才能恢復以前的網址,您可以使用replace()刪除前綴路徑。

變化

return '' + value; 

return value.replace('_includes/images/work/hires/', ''); 
2
var path = '_includes/images/work/hires/'; 
$('.work-showcase').click(function(){ 
    if (!$(this).hasClass('active')){ 
     var img = $(this).find('ul li img'); 
     img.attr('src', function(i, value) { 
      return path + value; 
     }); 
    } else { 
     var img = $(this).find('ul li img'); 
     img.attr('src', function(i, value) { 
      return value.substring(path.length); 
     }); 

    }; 
}); 

這裏是關於子()http://www.w3school.com.cn/js/jsref_substring.asp文檔。

+0

太棒了,謝謝@pktangyue! – Liam

+0

我建議避免幻數('28'),所以像Adil的解決方案或類似的東西'var path ='_includes/images/work/hires /';',第一種情況是:'return path + value;'並在第二個:'返回value.substring(path.length);'。 –

+0

@SamuelCaillerie好吧,我可以將28改爲'path.length'。我會盡快更新代碼。 – pktangyue