0

我有这个js代码:

$(window).resize(function() {
    var formHeight = $(".box-demo").outerHeight() + 40;
    $(".box-demo").css("top",-formHeight+"px");
});

当您调整窗口大小时。盒子演示正在重新计算表单的高度。但现在我在移动设备上遇到了这个问题。

只有当改变宽度。然后必须执行此功能。现在它发生在文档更改高度和宽度时。我怎么能做这个。仅当我更改文档的宽度时才会执行此操作。

感谢您的帮助!

4

2 回答 2

1

这样做可能有更好的方法,但您可以基于预设的窗口宽度值。只有当宽度发生变化时才会发生调整大小:

var windowWidth;

$(document).ready(function() {
    windowWidth = $(window).width();
})

$(window).resize(function() { 
    if($(this).width() != windowWidth)
    {
        var formHeight = $(".box-demo").outerHeight() + 40;
        $(".box-demo").css("top",-formHeight+"px");
        windowWidth = $(this).width();
    }
});

编辑:您还可以避免使用以下方法附加“px”:

$(".box-demo").css({top: -formHeight});

编辑2:如果你想在只有宽度改变时改变它,你也可以添加一个高度检查:

var windowHeight;
...
if($(this).width() != windowWidth && $(this).height) == windowHeight)
于 2013-02-06T11:45:26.043 回答
0

提取方法,并将其绑定到准备好的文档上。

于 2013-02-06T11:45:48.260 回答