2017-03-16 59 views
-1
<div id="textLength" class="textLength"> Hello World !!!</div> 
<script> 
function testTextLength() { 
    var textL = document.getElementById("textLength").innerText; 
    var maxLength = 15; 
    if (textL.length > maxLength) { 
     textL.style.fontSize = "250%"; 
    } 
} 
</script> 

請幫助我,「Hello World !!!」的字體大小在達到超過15個字符後應該改變。字體大小應該減少一旦它的長度大於15

+0

所以,當你打了嗎?文本如何編輯?它什麼時候被叫? – epascarello

+0

您將需要將更改事件綁定到您的div元素,並可能將您的div更改爲輸入 – Cruiser

+0

是的,我想要那樣。 –

回答

1

您正在將字體大小設置爲內文。將其設置爲元素。

<div id="textLength" class="textLength"> Hello World !!!</div> 
<script> 
function testTextLength() { 
    var textL = document.getElementById("textLength"); 
    var maxLength = 15; 
    if (textL.innerText.length > maxLength) { 
     textL.style.fontSize = "250%"; 
    } 
} 
</script> 
+0

如果您在問題中看到類似document.getElementById(「textLength」)的代碼,innerText.style.fontSize =「250%」; – Bhuwan

+0

在我的案例中它的document.getElementById(「textLength」)。style.fontSi ze =「250%」; – Bhuwan

+0

非常感謝you8r很好的幫助 –

0

這是我會做的。將您的div更改爲輸入:

<input id="textLength" class="textLength"> 

然後,將事件綁定到它,如'keyup'。你需要這個,這樣你的JS知道什麼時候檢查輸入的文本的長度。

<script> 
    var textL = document.getElementById("textLength"); 

    textL.addEventListener('keyup',function(){ 
     var maxLength = 15; 
     var txt = textL.value; 
     if (txt.length > maxLength) textL.style.fontSize = "250%"; 
    }); 
</script> 

除了'keyup'之外,你還可以聽'keypress','keydown'或'change'。在這種情況下,我建議使用'keyup'。這裏有一個工作示例:

https://jsfiddle.net/wxmvagL3/3/

如果要重置的字體大小時長低於15個字符,添加一個else塊:

if (txt.length > maxLength) textL.style.fontSize = "250%"; 
else textL.style.fontSize = "100%";  
+0

上面的代碼不是woking –

+0

檢查小提琴,它確實有效 – Cruiser

+0

謝謝你的回答 –