[JavaScript] 根據指定寬度截取字符串

/**
 * 根據指定寬度截取字符串
 * @param desc 原始字符串
 * @param width 該顯示的寬度
 * @param fontsize 字體大小  12px
 * @returns {string} 截取後的字符串
 */
export function getStrByWith (desc, width, fontsize) {
  var span = document.createElement('span')
  span.id = 'cut'
  span.style.visibility = 'hidden'
  span.style.fontSize = fontsize
  span.style.whiteSpace = 'nowrap'
  document.body.appendChild(span)
  var boo = false
  var temp = '' // 存放截斷字符串
  for (var j = 0; j < desc.length; j++) {
    // desc是目標字符串,
    temp += desc[j]
    span.innerText = temp
    if (span.offsetWidth > width) {
      boo = true
      break
    }
  }
  document.body.removeChild(span)
  if (boo) temp += '..'
  return temp
}
相關文章
相關標籤/搜索