使用 Jquery 根据用户输入更改字体大小
Change font size according to user input using Jquery
我有以下代码:
<div id="font">
<h2>Font Size</h2>
<input type="text" name="font" value="15" /> px
<br /><span id="warning"></span>
</div>
允许用户在表单中输入字体大小,文本会根据用户输入的内容而变化,
另外,如果用户输入小于 10px 的字体大小,我希望在输入区域旁边出现警告,
我如何使用 jquery 来做到这一点?试过好几样东西,目前都没有成功
谢谢!
为了使用 jQuery 执行此操作,您应该在输入字段上构建一个类似于以下内容的更改处理程序。然后使用 css 函数操作字段的字体大小。
$(document).ready(function(){
$('#fontInput').change(function(){
if ( !$(this).val() ) {
return;
}
$('.fontChanger').css('font-size', $(this).val() + 'px');
if ($(this).val() < 10) {
alert('Font too small!!!');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<p class="fontChanger">This is my text</p>
<p class="fontChanger">2ndary Text</p>
<p class="fontChanger">Woooo</p>
<p>Enter the new Font Size!</p>
<input type="text" id="fontInput" />
您始终可以在用户点击输入时检查值,如下所示:
$(document).ready(function () {
$('input').click(function () {
var fontsize = $('input').val();
if (fontsize < 10) {
alert('Font too small!!!');
}
});
});
这是一个jsfiddle
或者,另一种方法是绑定按键功能并检查输入值,如下所示:
$(document).ready(function () {
$('input').bind('keypress', function (e) {
var fontsize = $('input').val();
if (e.keyCode == 13) {
if (fontsize < 10) {
alert('Font too small!!!');
}
}
});
});
另一个jsfiddle
在您的输入元素上添加一个 keyup
处理程序,当该事件触发时检查该值是否小于 10,然后更新您想要的元素。这样它会在用户更改值后立即更新。这是一个例子:
$("input").keyup(function(){
if( parseInt($(this).val()) < 10 ) {
$("#warning").text("Your font is smaller than 10px");
} else {
$("#warning").text("");
$('#testFont').css('font-size', $(this).val() + 'px');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="font">
<h2>Font Size</h2>
<input type="text" name="font" value="15" /> px
<br /><span id="warning"></span>
</div>
<br />
<div id="testFont">Hello World</div>
我有以下代码:
<div id="font">
<h2>Font Size</h2>
<input type="text" name="font" value="15" /> px
<br /><span id="warning"></span>
</div>
允许用户在表单中输入字体大小,文本会根据用户输入的内容而变化, 另外,如果用户输入小于 10px 的字体大小,我希望在输入区域旁边出现警告, 我如何使用 jquery 来做到这一点?试过好几样东西,目前都没有成功
谢谢!
为了使用 jQuery 执行此操作,您应该在输入字段上构建一个类似于以下内容的更改处理程序。然后使用 css 函数操作字段的字体大小。
$(document).ready(function(){
$('#fontInput').change(function(){
if ( !$(this).val() ) {
return;
}
$('.fontChanger').css('font-size', $(this).val() + 'px');
if ($(this).val() < 10) {
alert('Font too small!!!');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<p class="fontChanger">This is my text</p>
<p class="fontChanger">2ndary Text</p>
<p class="fontChanger">Woooo</p>
<p>Enter the new Font Size!</p>
<input type="text" id="fontInput" />
您始终可以在用户点击输入时检查值,如下所示:
$(document).ready(function () {
$('input').click(function () {
var fontsize = $('input').val();
if (fontsize < 10) {
alert('Font too small!!!');
}
});
});
这是一个jsfiddle
或者,另一种方法是绑定按键功能并检查输入值,如下所示:
$(document).ready(function () {
$('input').bind('keypress', function (e) {
var fontsize = $('input').val();
if (e.keyCode == 13) {
if (fontsize < 10) {
alert('Font too small!!!');
}
}
});
});
另一个jsfiddle
在您的输入元素上添加一个 keyup
处理程序,当该事件触发时检查该值是否小于 10,然后更新您想要的元素。这样它会在用户更改值后立即更新。这是一个例子:
$("input").keyup(function(){
if( parseInt($(this).val()) < 10 ) {
$("#warning").text("Your font is smaller than 10px");
} else {
$("#warning").text("");
$('#testFont').css('font-size', $(this).val() + 'px');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="font">
<h2>Font Size</h2>
<input type="text" name="font" value="15" /> px
<br /><span id="warning"></span>
</div>
<br />
<div id="testFont">Hello World</div>