Процент левой позиции jQuery и оператор if

Я новичок в jquery и пытаюсь создать полностраничный адаптивный слайдер. Он работает нормально, за исключением того, что я хочу, чтобы при каждом значении слайда/процента происходили разные вещи. Все мои слайды находятся в «ползунке» и имеют ширину 100%, поэтому:

слайд 1 - (виден, когда) 'ползунок' слева 0
слайд 2 - 'ползунок' слева -100percent
слайд 3 - 'ползунок' слева -200percent
и так далее

Первый оператор if работает нормально, но второй не имеет никакого эффекта, я также пробовал «положение» вместо «смещение».

$('#next').click(function(){
    $('#slider').animate({'left': '-=100%'},
        function() {
            var pos = $('#slider').offset();
            if (pos.left < 0) {
                $('#div1').show();
                } 
            else if (pos.left == '-700%') {
                $('#div1').hide();
                } 
     });    
});

Любая помощь высоко ценится! Спасибо.


person user1688604    schedule 23.11.2012    source источник
comment
'-700%', разве это не должно быть '-200%'? для второго слайда?   -  person Christian    schedule 23.11.2012


Ответы (2)


offset() нормализуется jQuery, чтобы всегда возвращать px значений; независимо от того, какой CSS вы применили к элементу.

К вашему сведению, значения top и left — это числа, а не строки.

person Matt    schedule 23.11.2012

Вы можете изменить ширину ползунка с помощью jquery в пикселях с помощью $('#slider').width(), а умножив его на сто, вы получите процент.

100% >> $('#slider').width()
700% >> $('#slider').width() * 7
person Adil    schedule 23.11.2012