0

好的,所以我有一个大字体(100px)的输入字段。想法是当用户开始写字母时,字体大小会变小,而不是短语移出屏幕。

它也必须是响应式的,所以一些包含屏幕宽度的算法会很好。

我现在拥有的:

var chars = $('#big-search').val();
var w = $(window).innerWidth();

var fz = parseInt($('#big-search').css("font-size"), 10);
console.log(fz);
var nfz = 100-((chars.length/w)*(w*2.2));
if(nfz < 100){
    $('#big-search').css("font-size", nfz+"px")
}

问题是它加速了字体大小的降低。但它应该放慢速度。

对此有什么想法吗?

4

1 回答 1

0

这成功了:

var baseFz = 100;
var chars = $('#big-search').val();
var w = $(window).innerWidth();
var nfz = (w/100)*(baseFz/chars.length);

if(nfz <= 100 && nfz >= 20){
    $('#big-search').css("font-size", nfz+"px");
} else if(nfz >= 100){
    $('#big-search').css("font-size", 100+"px");
} else if(nfz >= 20){
    $('#big-search').css("font-size", 20+"px");
}
于 2013-04-25T13:19:54.150 回答