2014-09-29 58 views
-1

我想根據字體大小調整文本大小,然後再顯示在另一頁上。如何根據字體大小限制textarea中的字母數?

<select name="fonts" id="fontBox"> 
    <optgroup> 
     <option value="0" selected="selected">Select Font</option> 
     <option value="10">10</option> 
     <option value="20">20</option> 
     <option value="30">30</option> 
     <option value="40">40</option> 
    </optgroup> 
</select> 

<textarea maxlength="100" class="mycss" id="inputData" name="data" spellcheck=false wrap="physical"> 
</textarea> 

如何根據要放置/顯示文本的字體和固定大小的div來截斷字母。

回答

1

編輯:試試這個它會改變textarea的和字體的基礎上值:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    <style> 
    textarea{ 
    width:300px !important; 
    height:100px !important; 
    } 


    </style> 
    <select name="fonts" id="fontBox"> 

       <option value="0" selected="selected">Select Font</option> 
       <option value="10">10</option> 
       <option value="20">20</option> 
       <option value="30">30</option> 
       <option value="300">300</option> 

     </select> 
      <textarea maxlength="100" class="mycss" id="inputData" name="data" spellcheck=false wrap="physical"></textarea> 

    <script> 
    $(document).ready(function(){ 
     var size 
     $("#fontBox").on('change',function(){ 
      console.log($("#inputData")); 
    $("#inputData").css('font-size', +$("#fontBox").val()+"%"); 
    var w = $("#inputData")[0].clientWidth; 
    var h = $("#inputData")[0].clientHeight; 
    size = parseInt((w*h)/$("#fontBox").val()); 
    alert(size); 
    if(size > 100){ 
     size = 100; 
    }else{ 
    size = 30; 

} 
     }); 

    $('#inputData').keydown(function(){ 
    limitText($('#inputData'),size,size); 
    }); 

    $('#inputData').keyup(function(){ 
     limitText($('#inputData'),size,size); 
     }); 
    }); 


    function limitText(limitField, limitCount, limitNum) { 
     if (limitField.val().length > limitNum) { 
      limitField.val(limitField.val().substring(0, limitNum)); 
     } else { 
      limitCount=limitNum - limitField.val().length; 
     } 
    } 
    </script> 

注:你的信息我設置textarea的字符長度等於在選擇框中的值。

+0

感謝您的回覆,但我應該如何限制用戶,1280by780 div可以包含多少字母或我該如何計算? – Questionare 2014-09-29 09:25:39

+0

@Question我會根據您的需求提供一些示例代碼更改,等待更新。 – 2014-09-29 09:47:29

+0

@Question現在加入嘗試,如果有任何問題隨時問。 – 2014-09-29 09:52:22

0

您可以使用jquery函數來限制文本。

$("#fontBox").val(); will give the font size 

此後,您可以根據所選值設置文本區域的最大長度。 請參閱This

+0

也從你身邊做一些效果。 :d – 2014-09-29 12:16:13

相關問題