我试图让一个元素在旋转时从左/右移动。当它们达到某个值时,我希望函数停止,我希望元素在鼠标滚动时移动小的增量。
我添加了一个IF statemenet,但它似乎阻止了我的功能?我也希望我的元素在他们停止时成为正确的方法。
我想不出最好的方法,所以下面是我的尝试,有人有想法吗?
// 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)'
});
});
});
答案 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)'
});
}
});