动态调整输入大小
我有一段用于 jQTouch/jQuery 页面的代码,它动态调整窗口的 insideWidth 的输入大小 - 关联的标签宽度 - 50px。
<html>
<head>
<title>resizeInputs</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">@import "jqtouch/jqtouch.min.css";</style>
<style type="text/css" media="screen">@import "jqtouch/themes/apple/theme.min.css";</style>
<script src="jqtouch/jquery.1.3.2.min.js" type="application/javascript"></script>
<script src="jqtouch/jqtouch.min.js" type="application/javascript"></script>
<script type="text/javascript">
var jQT = $.jQTouch({
statusBar: 'default'
});
$(document).ready(function () {
function resizeInputs () {
$($("input").filter("[type='email'],[type='tel'],[type='text'],[type='url']")).each(function () {
$(this).css("width", window.innerWidth - $(this).siblings("label").width() - 50 + "px");
console.log($(this).attr("id")+": " +$(this).siblings("label").length+": "+$(this).siblings("label").width());
});
};
resizeInputs();
$("body").bind("turn", resizeInputs);
});
</script>
HTML 是...
<div id="pnl">
<div class="toolbar">
<h1>resizeInputs</h1>
</div>
<ul class="edit rounded">
<li>
<label for="in1">Input 1</label>
<input id="in1" type="text" pattern="\d*" />
</li>
<li>
<label for="in2">REAAALLLY LONG LABEL</label>
<input id="in2" type="url" />
</li>
</ul>
</div>
如果应用程序中只有一个 div 面板,它会非常有效。当输入和标签不在第一个面板上时,是否有人对如何让此代码调整输入大小有任何建议?
I've got this piece of code for a jQTouch/jQuery page that dynamically resizes inputs to the window's innerWidth - the associated label width - 50px.
<html>
<head>
<title>resizeInputs</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">@import "jqtouch/jqtouch.min.css";</style>
<style type="text/css" media="screen">@import "jqtouch/themes/apple/theme.min.css";</style>
<script src="jqtouch/jquery.1.3.2.min.js" type="application/javascript"></script>
<script src="jqtouch/jqtouch.min.js" type="application/javascript"></script>
<script type="text/javascript">
var jQT = $.jQTouch({
statusBar: 'default'
});
$(document).ready(function () {
function resizeInputs () {
$($("input").filter("[type='email'],[type='tel'],[type='text'],[type='url']")).each(function () {
$(this).css("width", window.innerWidth - $(this).siblings("label").width() - 50 + "px");
console.log($(this).attr("id")+": " +$(this).siblings("label").length+": "+$(this).siblings("label").width());
});
};
resizeInputs();
$("body").bind("turn", resizeInputs);
});
</script>
The HTML is...
<div id="pnl">
<div class="toolbar">
<h1>resizeInputs</h1>
</div>
<ul class="edit rounded">
<li>
<label for="in1">Input 1</label>
<input id="in1" type="text" pattern="\d*" />
</li>
<li>
<label for="in2">REAAALLLY LONG LABEL</label>
<input id="in2" type="url" />
</li>
</ul>
</div>
It works great if you only have one div panel in the app. Does anyone have any suggestion on how to get this code to resize inputs when the inputs and labels are not on the 1st panel?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)