javascript - Jquery事件捕获margin-left的变化

标签 javascript jquery

我这里有一个情况,我有一个 div 是 margin: auto 让它居中。

这工作得很好,但是当我调整窗口大小时,我希望它在达到一定的左边距时停止居中。

想法是我在左侧有一个 float 对象,并且我不希望它重叠。

有人建议吗?

谢谢

编辑:添加代码

<nav id="servicos_nav">
    <div id="full">
        ...
    </div>
    <div id="minimized">
        ...
    </div>
</nav>
<section id="content">
… PHP generated code …
</section>

导航是绝对定位的,因为它是一些效果,通过完整的动画将变化最小化。

部分内容宽度为 860 像素,边距为自动。但是导航中有一个元素的宽度始终为 140px,我不希望最小化窗口导致内容与该元素重叠。

SolutionEdit:我基于 awnser 的解决方案(静态宽度更容易:-)):

window.onresize = function(event) {
        if(window.innerWidth <= 1142)
        {
            $("#content").css("margin-left","140px");
        }
        else
        {
            $("#content").removeAttr("style");
        }
    };

最佳答案

你可能需要做数学题,因为这不是我的强项,但类似的东西应该有用

var contentWidth = $('#content').width();
var leftWidth = $('#left').width();

$(window).resize = function(event) {
    var windowWidth = window.innerWidth;
    if (windowWidth <= (contentWidth + (leftWidth * 2)) {
        $('#content').css('margin-left', leftWidth);
    } else {
        $('#content').css('margin-left', 'auto')
    }
}

demo

编辑:更改为使用 jQuery .resize 而不是覆盖 onresize

关于javascript - Jquery事件捕获margin-left的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9140290/

相关文章:

javascript - 使用 JQueryRotate 逆时针旋转图像

javascript - Cordova PDFkit blob 流到 IPP 打印机?

javascript - 如何让这种玻璃 splinter 效果适用于多个 div?

javascript - 使用 jQuery 在类的每个实例上添加随机 CSS

javascript - 如何在每个循环 Handlebars js中添加另一个值

javascript - 每个循环的 Meteor js 条件

javascript - 理解的递归偶数函数问题(Javascript)

javascript - 求最简单的jquery-ajax教程

javascript - ajax 请求是否会降低浏览器速度?

javascript - 更改图像 div 中的一张图像