这是我的 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 修复这个。我的代码中已经有 viewport 元标记所以请不要建议 viewport 或媒体查询解决方案。我已经用 alert(margin_top) 检查了 margin_top 变量,它根据需要向我显示了一个正确的负值,因此只有 css 设置部分失败才能正确进行计算。请帮我解决这个问题。谢谢。