2013-05-06 20 views
5

Bir metni sınırlamak için bir Javascript/jQuery + CSS yolu arıyorum (örneğin bir ürün adı) diyelim, 2 satır. Fakat ziyaretçilerin kesildiğini bilmeleri gerekiyor ve bu yüzden de sonunda '...' eklemem gerekecek.Satırları x satır sayısıyla sınırlandırın ve '...' öğesini ekleyin.

Bunu yapmanın düşünce orijinal yolu ona genişliğini ölçmek ve metin içeren div ait 2 kez genişliğini ulaşmadan hemen önce onu kes, 1 satır metin koymak, ama zor görünüyor Her karakterin, genişlikten ziyade genişliğe göre ayarlanması gerektiği gibi.

bu durumda işe yaramaz karakter veya kelime numarasına sınırlandırılması - Ben ki her zaman div tamamen yerine boşluklar sahip, 2 çizgileri doldurmak ister.

Monospaced yazı tipi kullanmak yerine bunu başarmanın iyi bir yolu var mı? Eğer jQuery bu eklentileri denemek kullandığınız yana

+1

jQuery sadece bu eklentiyi kapmak kullanıyorsanız: http://dotdotdot.frebsite.nl/ – elclanrs

+0

@elclanrs teşekkürler! lütfen cevap olarak gönderin –

+0

Tamam, daha önce kullanmış olduğum başka bir eklentiyi başarı ile ekledim. – elclanrs

cevap

9
+4

Hmm ... ~ 600 LOC ve harici bir bağımlılık bu üç küçük nokta için üstte biraz görünüyor. İşte 20 satırda hızlı bir POJS çözümü. Biraz işe ihtiyacı var, kardeşler arasında gezinmeye ve varsayımlar yapmak yerine metin düğümleri bulmaya ve belki de bazı iyi olayların ele alınmasına ihtiyaç duyuyor, ancak bunu 50'den fazla LOC üzerinde büyüyemiyorum ... http://jsfiddle.net/ HERuT/ –

+0

Bu gerçekten iyi görünüyor. Ama Autoellipsis (tercihim benim eklenti) [yorumsuz ancak 200 satır] (https://gist.github.com/elclanrs/5529573), jQuery kullanıyorsanız zaten bu kadar iyi olduğunu söyleyebilirim. – elclanrs

+0

Autoellipsis bana da çok daha temiz görünüyordu, ama çok yakından bakmadım. Bence bu tür senaryolar hakkında beni rahatsız eden şey, jQuery için algılanan ihtiyaçtır; Böyle DOM-yoğun şeyler yaparken, bağımlılıkları kurtulmak ve sadece ekstra olay işleme kodu yazabilirsiniz ya da her ne olursa olsun gibi görünüyor ... jQuery% 99 gibi bir komut için gerekli değildir gibi görünüyor . Autoellipsis kesinlikle bir POJS senaryosu olmak için daha iyi bir aday gibi görünüyordu. –

2

Bunun için css kullanabilirsiniz:

.truncate { 
    width: 100%; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    display: inline-block; /* for links */ 
} 
+2

, iki metin satırı kontrol hala net değil . –

İlgili konular