0

ページに画像が含まれる div があり、クリックすると div が展開され、画像を対応する高解像度バージョンに交換します。

私はこれを次のようにやっています...

$('.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/images/work/hires/」を削除する必要があります

誰でも解決策を推奨できますか?

4

2 に答える 2

3

以前の URL を復元するには、追加されたパスを削除する必要があります。replace()を使用して、先頭に追加されたパスを削除できます。

変化する

 return '' + value;

 return  value.replace('_includes/images/work/hires/', '');
于 2013-01-14T09:27:06.130 に答える
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);
        });

    };
});

substring() http://www.w3school.com.cn/js/jsref_substring.aspに関するドキュメントは次のとおりです。

于 2013-01-14T09:27:31.040 に答える