仍然试图从昨天看出这一点。为什么这个动画marginTop函数不能像我期望的那样工作?
我试图通过动画它的“marginTop”属性来一次向上滚动一个元素上升50个像素。问题是,在每次点击我的触发器时,元素“重置”并从0开始动画。任何人都可以向我解释这种令人困惑的行为吗?
看我的警示这里
$(document).on("click",".scroll-control",function(e){
e.preventDefault();
var newMarginTop = parseInt($('.scroll-frame').css('marginTop'));
alert (newMarginTop); // returns 0
newMarginTop = newMarginTop - 50;
alert (newMarginTop); // returns -50
$('.scroll-frame').animate({"margin-top": newMarginTop},1000);
var newMarginTop = parseInt($('.scroll-frame').css('marginTop'));
alert (newMarginTop); // returns 0 <<< ??? Why not -50 ???
});
这是工作http://jsfiddle.net/7zYBR/4/,工作。 – 2012-03-22 14:52:10
尝试http://jsfiddle.net/7zYBR/9/,它的工作。 – 2012-03-22 15:06:04