2017-08-08 33 views

回答

0

我已經創建了一個最簡單的例子,說明如何做到這一點。 在代碼中查看我的意見以瞭解其工作原理。

$("#input").focus(function() { 
 
    // If you enter the input 
 

 
    $("#test").animate({ // Animate the text to the top 
 
    top: "20px", 
 
    }, 200, function() {}); 
 

 
}).blur(function() { 
 
    // If you left the input 
 

 
    if ($(this).val() == "") { // Only if the input is empty 
 

 
    $("#test").animate({ // Animate the text back into the input 
 
     top: "50px", 
 
    }, 200, function() {}); 
 
    } 
 
});
#box { 
 
    height: 100px; 
 
    width: 100px; 
 
    padding-top: 50px; 
 
    position: relative; 
 
} 
 

 
#test { 
 
    top: 50px; 
 
    left: 5px; 
 
    position: absolute; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="box"> 
 
    <input type="text" id="input"><span id="test">Test</span> 
 
</div>

0

像這樣可以不使用JavaScript的純CSS一行中容易地實現。我在下面添加了一段代碼來演示基本思想。我將required attribute用於與:valid css selector組合的輸入,以檢查輸入是否爲空。

label { 
 
    display: inline-block; 
 
    margin-top: 20px; 
 
    position: relative; 
 
} 
 

 
label > span { 
 
    position: absolute; 
 
    cursor: text; 
 
    left: 2px; 
 
    top: 1px; 
 
    transition: top .2s ease; 
 
    color: #3a3a3a; 
 
} 
 

 
label > input:focus + span, 
 
label > input:valid + span{ 
 
    top: -20px; 
 
}
<label> 
 
    <input required type="text" /> 
 
    <span>Surname</span> 
 
</label>

相關問題