微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-jQuery CSS分配负值

这是我的jQuery代码

<script type="text/javascript" src="js/jquery.js">
</script>
<script type="text/javascript">
 $(document).ready(function() {
     get_font_size();
     set_sidebar();

});
function get_font_size()
{
var b=$(window).width();
var side_size=b*260/1440;
b=b-side_size;
$("#sidebar").css({"width":side_size});
$("#alexa-widget img").css({"width":side_size});
$(".fb-like-Box").attr("data-width",side_size); 
}
function set_sidebar()
{
var b=$(window).width();
var font_size=b*65/1440;
var font_size_2=b*133/1440;
var margin_top=b*10/1440;
margin_toP*=-1;
margin_top=Math.round(margin_top);
$("#my_tabs li").css({"font-size":font_size});
$("#header").css({"font-size":font_size_2,"margin-top":margin_top});

}
</script>

除了margin-top属性之外,其他所有东西都可以正常工作.我无法将margin-top分配给负值.它失败了,但是字体大小和其他属性都可以正常工作.为什么jquery css设置会因负值而失败? css它的工作是完美的.我需要根据屏幕分辨率更改网页,所以我不能在CSS内完成此操作.我需要jQuery修复.我的代码中已经包含视口元标记,因此请不要建议视口或媒体查询解决方案.我已经用alert(margin_top)检查了margin_top变量,它根据需要向我显示了正确的负值,因此只有css设置部分失败才能正确进行计算.请帮助我解决此问题.谢谢.

解决方法:

使用jQuery设置页边空白时,您必须在末尾添加单位(在本例中为px)

例:

>>> $("body").css("margin-top");
"0px"
>>> $("body").css("margin-top", "10");
[body]
>>> $("body").css("margin-top");
"0px"
>>> $("body").css("margin-top", "10px");
[body]
>>> $("body").css("margin-top");
"10px"

编辑(以使您更清楚地了解如何修正代码

更改代码行,如下所示:

$("#header").css({"font-size":font_size_2,"margin-top":margin_top});

$("#header").css({"font-size":font_size_2,"margin-top":margin_top + "px"});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐