使用Javascript用户输入修改CSS
Using Javascript User Input to Modify CSS
我想找到一种方法,让用户输入一个整数,然后用这个值来修改div的宽度。这可能吗?我找不到任何关于是否有办法这样做的资源。
<div id="genderform" action=" "/>
<form>
What percentage of musicians do you think are men?<br>
<input type="text" id="men"><br><br>
What percentage of musicians do you think are women?<br>
<input type="text" id="women"><br><br>
<input type="submit" value="submit">
</form>
</div>
<script>
document.getElementById("genderform").onsubmit=function() {
men = document.getElementById("men").value;
women = document.getElementById("women").value;
document.getElementById("text").innerHTML = "Results: <br>" + "Men: " + men + "%<br>Women: " + women + "%";
return false;
}
</script>
<p id="text">Results:</p>
<div id="test" style="background-color: #ff0000; height:50px; width: 1px;">
这就是我到目前为止所拥有的。我知道有人会使用.style来修改所选div的样式,但除此之外,我不确定。
谢谢你的帮助。
您的代码在某些方面存在格式错误。<form>
不是自关闭的(它不应该以/>
结束)。<div>
不支持action
属性(<form>
支持)。
您可以通过设置.style.width
:来调整CSS宽度属性
document.getElementById("div").style.width = women + "%";
下面是小提琴演奏:http://jsfiddle.net/L9xuj7mj/
以下是完整的代码,您的错误已被清除:
<form id="genderform" action="" >
What percentage of musicians do you think are men?<br />
<input type="text" id="men" /><br /><br />
What percentage of musicians do you think are women?<br />
<input type="text" id="women" /><br /><br />
<input type="submit" value="submit" />
</form>
<p id="text">Results:</p>
<p id="div" style="background-color: #ff0000; height:50px; width: 1px;"></p>
<script type="text/javascript">
document.getElementById("genderform").onsubmit=function() {
men = document.getElementById("men").value;
women = document.getElementById("women").value;
document.getElementById("text").innerHTML = "Results: <br>" + "Men: " + men + "%<br>Women: " + women + "%";
document.getElementById("div").style.width = women + "%";
return false;
}
</script>
我使用了你的表单,并创建了它的新混合体lolhttp://jsfiddle.net/afSK8/193/
function change() {
men = document.getElementById("men").value;
women = document.getElementById("women").value;
document.getElementById('mod').style.width = men + "px";
document.getElementById('mod').style.height = women + "px";
}
您就快到了。
var numMen = document.getElementById('men').value;
document.getElementById('div').style.width = numMen + 'px';
这里有几个想法:
- 您可以添加一些CSS转换,使栏的动画效果良好
- 给"p"元素一个id为"div"是没有意义的。试着更准确地命名它
- 您可能需要在从表格中提取的数字上添加一个乘数。将每个人的条形图增加1px可能不够宽
希望这能有所帮助。
相关文章:
- 使用jQuery修改CSS的好处
- HTML&JS-如何修改CSS类的属性
- 如何使用带包装器的Javascript/jQuery动态修改CSS类
- 使用 angularJs 修改 css.height 会导致 Internet Explorer 无法滚动到页面底部
- 动态修改CSS-适用于IE9,但不适用于Chrome和Firefox
- 需要一种更好的方法来大规模修改css类
- 如何在硒中按类名修改 css
- 通过 javascript 通过增量修改 CSS 背景位置
- 修改 CSS 内容编辑器 yui
- 手动将脏设置为字段不会修改 css 类 angularJS
- 如何在 JavaScript 中动态设置和修改 CSS
- 为什么当媒体查询更新 CSS 规则时,修改 CSS 规则会失败
- 使用 JavaScript 或 jQuery 修改 CSS 规则
- 使用JavaScript修改CSS选择器:之后
- 如何修改CSS或JS文件从“;具体化:具体化;Meteor包装
- 使用Javascript用户输入修改CSS
- 如何在渲染前在窗口调整大小事件中修改CSS
- 哪个更快?-修改css属性或在jquery中添加类
- 使用jQuery修改CSS类的名称-在加载时不起作用
- 使用jQuery选择元素并放入数组以修改css