JQuery kód segítség?
Jó estét kívánok!
A híreknél szeretnék ajánlani pár sort előzetesként.
Addig jutottam el, hogy 250 karakter után kiír három pontot, de az utolsó szót elvágja, ha úgy jön ki a lépés.
Mit tegyek, hogy csak az utolsó olyan szót kezdje el, amelyiket ki is tudja egészben írni, és csak utána írja ki a három pontot!
A kód:
$(function(){
$.each($('.prolog').not(':empty'), function(i,v){
var count = parseInt($(this).text().length);
var maxChars = 250;
if(count > maxChars){
var str = $(this).text();
var trimmed = str.substr(0, maxChars);
$(v).text(trimmed + '...');
}
});
});
Köszönöm a választ!
Ez egy érdekes feladat. Gondolkodj el rajta, hogy oldanád meg "manuálisan", az általad ismert függvényekkel és ciklusokkal.
Egyébként ilyenekre jó a regexp:
string.match(/([a-z0-9öüóőúéáűíÖÜÓŐÚÉÁŰÍ\,\.\-]+\s){5}/gim)
Ennek járj utána, és próbáld meg értelmezni.
A végeredményt még vághatod sima substr segítségével, ha esetleg túl hosszú lenne a végeredmény.
Amúgy ebbe a sorba:
var count = parseInt($(this).text().length);
biztos, hogy kell az a parseInt?
A length függvény mindig numerikusan értelmezhető adatot ad vissza, és mivel a JS gyengén típusos nyelv, az relációs feltételnél úgyis számmá kasztolódik a count. Másrészt, a parseInt elég lassú függvény. Használd inkább a Number(count) kasztolást, vagy akár a bitwise operátoros megoldást (count<<0), vagy simán szorozd meg eggyel (count*1). Ezek általában gyorsabbak.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!