2011-11-29 12 views
13

Bunu nasıl mümkün yapabilirim?Kısa metinle yazın, ancak filetype'ı görünür bırakın

itibaren bu-is-a-çok-uzun dosyaadı.jpg bu-is-a-çok-lo [...] .jpg için.

Birkaç dakika boyunca Google'da arama yaptım, ancak buna bir çözüm bulamıyorum. Bunu nasıl yapabilirim biliyor musun?

Şimdiden teşekkürler!

+1

olması gerekir belirli genişlik? –

+0

Eh, 'substring (0,8) + "..." 'ya da bir şey gibi görünen maksimum karakterleri değiştirme yeteneğine sahip olmak istiyorum. – Erik

+0

Bunu yapmak için kesinlikle jQuery'ye ihtiyacınız var mı? –

cevap

26

Gerçekten bunun için jQuery gerekmez, klasik javascript kullanabilirsiniz:

<script> 
    function truncate(n, len) { 
     var ext = n.substring(n.lastIndexOf(".") + 1, n.length).toLowerCase(); 
     var filename = n.replace('.'+ext,''); 
     if(filename.length <= len) { 
      return n; 
     } 
     filename = filename.substr(0, len) + (n.length > len ? '[...]' : ''); 
     return filename + '.' + ext; 
    }; 
    var s = 'this-is-a-very-very-very-long-file-name.jpg'; 
    console.log(truncate(s, 100)); //this-is-a-very-very-very-long-file-name.jpg 
    console.log(truncate(s, 10)); //this-is-a-[...].jpg 
    console.log(truncate(s, 4)); //this[...].jpg 
</script> 
+0

Çok teşekkürler! : D Bir çekicilik gibi çalıştım. – Erik

+0

Çok hoşgeldiniz –

+0

Yine de bir sorunum var. Bir dosya seçtiğimde, fonksiyonunuzla birlikte tam bir dosya adı olarak ** Chamma Swaetty Lobbs.jpg.jpg ** alacağım. Kod baktığımda herhangi bir sorun göremiyorum göremiyorum (Ben bir tür JavaScript noob). Sorunu görebiliyor musun? :) – Erik