1

サムネイルを作成するために画像の名前の一部を削除しようとしています。

画像名は、HG57JWY_0.jpg、HG57JWY_1.jpg、HG57JWY_2.jpg のように動的に作成されます。次を使用して.jpgを削除できました。

var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1];

私の問題は、「_0」を削除する方法がわからないことです

return '<img src="sample-img/'+ imageName +'_' + [i -+ 1] + '.jpg">';

これにより、HG57JWY_0_0.jpg が生成されます

どのように私はそれを行うのですか?

編集:大きな画像と親指が別のフォルダーにあることを忘れていました。だから私は src = http://mydomain.com/sample-img/imagename.jpgで 1 つのプレース ホルダーに大きな画像を表示します。

そして、親指を src = http://mydomain.com/sample-img-thumb/imagename.jpgのリストに配置します

編集2:

アレクサンダーのおかげで、元のコードを使用しました

 var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1];

彼の .split("_")[0] を追加しました

var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1].split("_")[0];

これは画像全体 src ie を取り、http://mydomain/imageFolder/image_1.jpg「画像」だけを返します。

それから私は私が望むどんなパスでも使用することができました

return '<img src="sample-img/'+ imageName +'_' + [i -+ 1] + '.jpg">';

sample-img/ を必要なものに変更しました。

4

4 に答える 4

4

を使用しsplitます。

var imageName = $('#slider1 li img').prop('src').split("_")[0];

アップデート

試合で使用できsplitます:

var imageName = $('#slider1 li img').prop('src')
                                    .match(/(\w*)\.\w{3,4}$/)[1]
                                    .split("_")[0];

または、正規表現を変更して ( Dave Ragerの回答にも示されているように) pattern の一致を除外します_number

var imageName = $('#slider1 li img').prop('src').match(/(\w+)_\d+\.\w{3,4}$/)[1]
于 2012-09-19T19:42:26.653 に答える
1

イメージ名に「_x」が含まれていることが保証されている場合は、次を試してください。

var imageName = $('#slider1 li img').prop('src').match(/(\w*)_\d+\.\w{3,4}$/)[1];
于 2012-09-19T19:42:51.163 に答える
1
$('#slider1 li img').prop('src', function(i, value) {
    return value.substr(0, value.indexOf('_'));
});
于 2012-09-19T19:42:58.373 に答える
0
var imageName = $('#slider1 li img').prop('src').match(/(\w*)(_[0-9]+)\.\w{3,4}$/)[1];
于 2012-09-19T19:44:01.160 に答える