JQuery变量:如何将正高度转换为负边距?

时间:2013-06-03 23:46:05

标签: jquery

<script>
    $(document).ready(function () {
        var footerheight = $('#footer').height();
        $('#footer').css('height', footerheight);
        $('#footer').css('marginTop', footerheight);
        $('#nonfooterinner').css('paddingBottom', footerheight);
    });
    $(window).bind("resize", function () {
        var footerheight = $('#footer').height();
        $('#footer').css('height', footerheight);
        $('#footer').css('marginTop', footerheight);
        $('#nonfooterinner').css('paddingBottom', footerheight);
    });
</script>

<body>
    <div id="nonfooterouter">
        <div id="nonfooterinner">
            body
        </div>
    </div>
    <div id="footer">
        xxx
    </div>
</body>

此脚本抓取#footer div的高度,并将其设置为内部包装器(#nonfooterinner)的底部填充和#footer的上边距。但是,#footer的上边距需要是该数字的负值。如何将脚本中的变量“footerheight”转换为仅为marginTop值的负数?

5 个答案:

答案 0 :(得分:2)

Example on jsFiddle

将其设为负值

$('#footer').css('marginTop', - footerheight);

答案 1 :(得分:2)

var footerheight = $('#footer').height();

    $('#footer').css('margin-left', footerheight *-1);

答案 2 :(得分:0)

您可以使用parseInt()将字符串转换为int。请检查以下代码:

var footerheight = $("#footer").height();
var marginTop = parseInt(footerheight) * -1;
$("#footer").css("marginTop", marginTop + "px");

答案 3 :(得分:0)

var footerheight = $('#footer').height();
footerheight =-Math.abs(footerheight);

答案 4 :(得分:0)

要将任何值转换为正值,反之亦然:

    $("#automplete-1).on("keyup",function(){  //put different event accordingly

    $.ajax({
      url:'/addressAutocomplete',
      type:'get',
      success:function(data)
    {
      $(function() {
                $( "#automplete-1" ).autocomplete({
                    source: data,
                     autoFocus:true,
                    minLength: 2,
                });
             });
    }


    });

});

或否定:

var value = -500
if(value < 0) { 
  value = value*(-1)
}