如果元素的值为X,则停止功能

时间:2014-03-25 14:45:44

标签: javascript jquery

我试图让一个元素在旋转时从左/右移动。当它们达到某个值时,我希望函数停止,我希望元素在鼠标滚动时移动小的增量。

我添加了一个IF statemenet,但它似乎阻止了我的功能?我也希望我的元素在他们停止时成为正确的方法。

我想不出最好的方法,所以下面是我的尝试,有人有想法吗?

http://jsfiddle.net/25P7K/1/

// If 'firstChart' left value is 40 then stop animation on scroll.

$(window).bind('scroll',function(){

    var scrollTop = $(window).scrollTop(),
    chartContainer = ($('.chartContainer').offset().top - scrollTop),
    deg = -$(window).scrollTop() * 5;

    // If I remove this it works but the animation doesnt stop? 
    if(parseInt($('.firstChart').css('left')) <= 40){ 

        $('.firstChart').css({
            'left': (chartContainer / 1) + "px",
            'transform': 'rotate(' + deg + 'deg)'
        });

        $('.secondChart').css({
            'right': (chartContainer / 1) + "px",
            'transform': 'rotate(' + deg + 'deg)'
        });

    });

});

1 个答案:

答案 0 :(得分:0)

if语句的结尾不正确,使用});代替}

$(window).bind('scroll',function(){
    var scrollTop = $(window).scrollTop(),
    chartContainer = ($('.chartContainer').offset().top - scrollTop),
    deg = -$(window).scrollTop() * 5;

    var firstChartLeft = parseInt($('.firstChart').css('left'));
    //alert(firstChartLeft); /* uncomment for testing */
    if(firstChartLeft <= 40 || firstChartLeft==null){         
        $('.firstChart').css({
            'left': (chartContainer / 1) + "px",
            'transform': 'rotate(' + deg + 'deg)'
        });        
        $('.secondChart').css({
            'right': (chartContainer / 1) + "px",
            'transform': 'rotate(' + deg + 'deg)'
        });        
    }    
});