jQuery $(window).resize дублирует $(document).ready для изменения размера и положения элементов

У меня есть этот 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");
    });
}); 

person Dênis Montone    schedule 27.09.2012    source источник


Ответы (1)


Весь этот блок кода должен быть обернут в $(window).resize() . У вас уже так получилось?

So -

$(window).resize(function() {

// all your code here 

}).trigger("resize");
person davemcmillan    schedule 27.09.2012
comment
Я пытался, но это не сработало... Это .trigger(resize); действительно нужно? Я никогда не использовал его, и он отлично работал для других нужд... - person Dênis Montone; 27.09.2012
comment
trigger(resize) просто гарантирует, что изменение размера запускается при первой загрузке страницы. Я обнаружил, что это лучше сделать, если вы хотите, чтобы функция изменения размера вычисляла высоту и т. д. при первой загрузке страницы, а не только при изменении ее размера. Это просто зависит от вашего проекта. Я не понимаю, как это не может работать только для пересчета ширины и высоты. У вас есть URL-адрес, чтобы я мог увидеть код? - person davemcmillan; 27.09.2012
comment
имеет смысл ... я проверю, работает ли это, но, вероятно, будет. Спасибо - person Dênis Montone; 27.09.2012