jQuery $(window).resize复制到$(document).ready来调整大小和重新定位元素

时间:2012-09-27 13:51:45

标签: jquery resize window-resize

我有这个jQuery来设置滑块功能。这个滑块是整个屏幕的宽度和高度,所以当我调整窗口大小时,我需要它来重新计算这些大小。我试图在两个触发器上复制相同的代码,但它没有改变任何东西。你能帮忙吗?

$(document).ready上的代码如下:

qtPhotos = $('#slider ul li').length;
windowWidth = $(window).width();
windowHeight = $(window).height();

$('#slider').width(windowWidth).height(alturaJanela);
$('#slider > ul').width(windowWidth * qtPhotos);
$('#slider > ul > li').width(windowWidth).height(windowHeight);

$('#slider > ul > li:first').before($('#slider > ul > li:last'));
$('#slider > ul').css('marginLeft', '-'+windowWidth+'px');

$('#seta-next').click(function(){
    $('#slider > ul').stop(true, true).animate({'left': "-="+windowWidth+"px"}, 500, 'easeInQuad', function(){
        $('#slider > ul > li:last').after($('#slider > ul > li:first'));
        $('#slider > ul').css("left", "+="+windowWidth+"px");
    });
}); 

$('#seta-prev').click(function(){
    $('#slider > ul').stop(true, true).animate({'left': "+="+windowWidth+"px"}, 500, 'easeInQuad', function(){
        $('#slider > ul > li:first').before($('#slider > ul > li:last'));
        $('#slider > ul').css("left", "-="+windowWidth+"px");
    });
}); 

1 个答案:

答案 0 :(得分:1)

整个代码块需要包装在$(window).resize()中。你有这样的话吗?

所以 -

$(window).resize(function() {

// all your code here 

}).trigger("resize");