js动态调整页面一行的字符数,防止最后一行剩余字数太少的问题
程序员文章站
2022-07-12 16:34:16
...
//获取字符串字节长度
getlastLength = function(str,lastcharlen) {
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
if (realLength>=lastcharlen){
return i
}
}
};
//当前位置,一行内需要显示的字节长度,已知
current_charline_length = 60
//容器宽度,已知
container_widht = 448
//字符创总字节长度,已知
str_char_length = 66
//最后一行剩余的字节数
every_char_width = cormain_widht/current_charline_length
shengyulenth = str_char_length%every_char_width
//最后一行剩余的字符数
streverse = "この特典クーポンについて、店舗の解釈がその最終的な解釈となります。".split("").reverse().join("")
lastlinelen = getlastLength(streverse,shengyulenth)
//根据剩余字符数,可以动态调整文字大小,防止最后一行剩余字数太少的问题
getlastLength = function(str,lastcharlen) {
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
if (realLength>=lastcharlen){
return i
}
}
};
//当前位置,一行内需要显示的字节长度,已知
current_charline_length = 60
//容器宽度,已知
container_widht = 448
//字符创总字节长度,已知
str_char_length = 66
//最后一行剩余的字节数
every_char_width = cormain_widht/current_charline_length
shengyulenth = str_char_length%every_char_width
//最后一行剩余的字符数
streverse = "この特典クーポンについて、店舗の解釈がその最終的な解釈となります。".split("").reverse().join("")
lastlinelen = getlastLength(streverse,shengyulenth)
//根据剩余字符数,可以动态调整文字大小,防止最后一行剩余字数太少的问题