【js与jQuery】前端js动态控制文字大小,让文字在DIV内不换行

发布时间:2019-10-09 23:50:25 最后更新:2021-02-22 21:36:39 浏览次数:1804

有时候,看别人网站上,写一个标语类的文字,能刚好填充整个页面宽度,或部分页面宽度。窗口怎么拉伸和缩小,文字都能随之而改变,保持一行不变。


本人通过,网上搜索终于实现了。因为网上的知识点太散,这里给大家整理一下思路,希望对大家有所帮助。


一、在页面加载时(就是打开网页时)js获取,DIV宽度。用到 js 的 window.onload

    


二、在页面伸缩时,获取DIV宽度。 用到 jQuery  的 $(window).resize


三、js给字体设置计算好的大小


下面是代码

div 部分 给文字预设一个大小,大家根据自己的情况设一个就行。container 为bootstrapt框架的一个属性。


<div class="container">      

      <div style="overflow:hidden; font-size:24px;" id="dongtai">我是一个中国人应该有中国人的样子</div>

 </div>


JS第一部分:     

<script language="javascript">

    //当浏览器加载时计算字体大小,并设置  

    window.onload = function(){


    var dongtai=document.getElementById("dongtai");//获取指定 ID 的第一个对象


    var fontw=12; //初始的字体大小

    

    var width=dongtai.offsetWidth;//获取DIV的宽度

    

    var lenstr=dongtai.innerHTML.length;//获取DIV内文字长度 

    

    dongtai.style.fontSize=parseInt(width/lenstr)+"px";//计算,parseInt取整,然后赋值



    // console.log(width);//用日志来查看一些值。及判断出现的错误。

   

    }


</script>


JS第二部分:


<script language="javascript">    

//当窗口变化时,动态计算字体大小,并调整

     $(window).resize(function () {    

    var dongtai=document.getElementById("dongtai");//获取指定 ID 的第一个对象

    var fontw=12; //初始的字体大小

    

    var width=dongtai.offsetWidth;//获取DIV的宽度

    

    var lenstr=dongtai.innerHTML.length;//获取DIV内文字长度 

    

    dongtai.style.fontSize=parseInt(width/lenstr)+"px";//计算,parseInt取整,然后赋值

    

    //}

    

      })

</script>



全部代码,合并起来。切记:要引入js和jquery文件

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=no">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="/bootstrap/bootstrap3.3.7.min.css">
<title>动态计算并改变文字大小</title>
</head>
<script src="/bootstrap/jquery3.2.1.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="/bootstrap/bootstrap3.3.7.min.js"></script>
		<div class="container">      
      <div style="overflow:hidden;font-size:24px;" id="dongtai">我是一个中国人应该有中国人的样子</div>
    </div>
</body>
</html>
    <script language="javascript">
    //当浏览器加载时计算字体大小,并设置  
    window.onload = function(){
      fontResize();
    }
    //当窗口变化时,动态计算字体大小,并调整
     $(window).resize(function () { 
      fontResize();
     });

    function fontResize(){
    var dongtai=document.getElementById("dongtai");//获取指定 ID 的第一个对象
    var fontw=12; //初始的字体大小
    
    var width=dongtai.offsetWidth;//获取DIV的宽度
    
    var lenstr=dongtai.innerHTML.length;//获取DIV内文字长度 
    
    dongtai.style.fontSize=parseInt(width/lenstr)+"px";//计算,parseInt取整,然后赋值   
   
    }
    
</script>

    

推荐文章

相关文章