2011-04-30 13 views

回答

3

您可以在插件中改變abridge功能如下:

function abridge(elem) { 
    var opts = elem.data("opts"); 
    var txt = elem.html(); 
    var len = opts.substr_len; 
    var dots = "<span>" + opts.ellipses + "</span>"; 
    var charAtLen = txt.substr(len, 1); 
    while (len < txt.length && !/\s/.test(charAtLen)) { 
     len++; 
     charAtLen = txt.substr(len, 1); 
    } 
    var shown = txt.substring(0, len) + dots; 
    var hidden = '<span class="hidden" style="display:none;">' + txt.substring(len, txt.length) + '</span>'; 
    elem.html(shown + hidden); 
} 

...然後它會根據您的需要你。可能會nt添加一個選項來關閉此功能,但是我會保留這個選項。

See working example →

+0

炮殺死蚊子......但是如果它的工作,這是很好的 – 2011-04-30 01:03:15

+0

我不知道是否有一個更簡單的方法做到這一點,但這工作得很好!謝謝mVChr – Santiago 2011-05-01 04:10:34

7

而不是做這個的:

$elem.readmore({ 
    substr_len: 35 
}); 

你能做到這一點

$elem.readmore({ 
    substr_len: $elem.text().substr(0, 35).lastIndexOf(" ") 
}); 

我們正在做的是去到最新的空間更多鈔票指數35 前當然35可以是可變的。你也可以把它放入一個函數重用它。

希望這有助於