使用jQuery / javascript自动居中比窗口大的div

时间:2013-03-15 14:29:01

标签: javascript jquery html centering

我在网站上制作宽度为1920px的div自动中心时遇到了一些麻烦。 现在我一直在使用这个jQuery代码在页面打开时自动居中div:

<script type="text/javascript">
$(window).load(function() {
    $('#slider').nivoSlider();

    var extra= 1920 - $(window).width(); 
    var extraleftside= extra/2;
    $("div#scroller").css("left", "-" + extraleftside + "px");
});
</script> 

但该代码仅在网站刷新时进行调整,是否可以让它实时完成?

如果您想看到我想要的效果,它与此网站中的滚动背景相同:http://www.apps.no

LeGEC回答这个问题非常好,这段代码完成了这个诀窍:

    <script type="text/javascript">
$(window).load(function() {
    $('#slider').nivoSlider();

    var extra= 1920 - $(window).width(); 
    var extraleftside= extra/2;
    $("div#scroller").css("left", "-" + extraleftside + "px");
}


);

$(window).bind("resize", resizeWindow);
function resizeWindow( e ) {
    var extra= 1920 - $(window).width(); 
    var extraleftside= extra/2;
    $("div#scroller").css("left", "-" + extraleftside + "px");
}
</script> 

1 个答案:

答案 0 :(得分:1)

您的意思是在resize上重新计算吗?

function doResize(){
    var extra= 1920 - $(window).width(); 
    var extraleftside= extra/2;
    $("div#scroller").css("left", "-" + extraleftside + "px");
}

$(window).load(function(){
    // maybe the slider should also be updated on resize...
    $('#slider').nivoSlider();

    doResize();
});

$(function(){
    $(window).resize(doResize);
});