JQuery在窗口调整大小时重新计算css

时间:2013-04-05 15:02:40

标签: javascript jquery

在这个网站上: http://houston.aiga.org/

虽然滑块在浏览器窗口大小上是全宽/可变的,但每个滑块项的标题始终缩进以与内容对齐。

我尝试过这样做: http://jsfiddle.net/topiman/xS7vn/

$(window).resize(function() {
    $('#item').css("padding-left",$(window).width()/2);
});

该功能正在运行,但是计算会在减小窗口大小时将项目推得太远而在增加时会过长。

工作滑块示例中的行是:

$('.layout-feature .box-section-image-gallery-controls-title, .layout-feature .box-section-image-gallery-title').css('paddingLeft', 60 + extraSpace/2);

其中extraSpace$(window).width()

感谢任何帮助 - 提前感谢

1 个答案:

答案 0 :(得分:2)

似乎你忘记了宽度:http://jsfiddle.net/topiman/xS7vn/5/

这就是我想出的。愚蠢的事情是console.log一直给予+8差异,我必须硬编码删除。这是你在找什么?

$(window).resize(function() {
    var ItemWidth = $(".wrapper").width();
    $('#item').width( ItemWidth );
    var WindowWidth = $(window).width();
    // cannot resize because window is smaller than the wrapper
    if( ItemWidth > WindowWidth ) {
        var PadWidth = 0;
    } else {
        var PadWidth = (WindowWidth - ItemWidth)/2 - 8;
    }
    console.log( ItemWidth + " - " + WindowWidth + " - " + PadWidth );

    $('#item').css("margin-left",PadWidth + "px");
    });

更新;还请检查http://jsfiddle.net/xS7vn/8/以获取最新更新,包括调整页面加载大小。