function truncateContent(sh) {
var divDes = $('divDes');
var getTextLength = function() { return (divDes.innerText || divDes.textContent).length };
var divTitle = $('divTitle');
if (divTitle.offsetHeight > 25) sh -= 13;
if (divDes.offsetHeight < sh) return;
var len = getTextLength();
var ellipsis = " ......";
var des = divDes.innerHTML;
while (divDes.offsetHeight > sh) {
len = parseInt(len / 2);
divDes.innerHTML = des.subtext(len);
}
var step = 100, n = 20;
while (step > 1) {
while (divDes.offsetHeight < sh) {
divDes.innerHTML = des.subtext(getTextLength() + step - 7) + ellipsis;
if (--n < 1) break;
}
step = parseInt(step / 2);
while (divDes.offsetHeight > sh) {
divDes.innerHTML = des.subtext(getTextLength() - step - 7) + ellipsis;
if (--n < 1) break;
}
step = parseInt(step / 2);
}
des = divDes.innerHTML.substr(0, divDes.innerHTML.length - ellipsis.length);
divDes.innerHTML = des.substr(0, des.lastIndexOf(" ")) + ellipsis;
}