我有这个jquery命令:
$('html, body').animate({
scrollTop: stopY,
opacity: '0.5'
}, 1000);
(其中stopY是我要停止的位置)。 唯一的想法是,我希望仅在滚动期间将不透明度更改为0.5,并且一旦我处于stopY位置,它将返回到1。
答案 0 :(得分:1)
在ungetc(ch, stdin);
的options参数中提供complete
回调,该参数在完成动画后将不透明度设置为1:
animate
答案 1 :(得分:1)
您可以使用start
的{{1}}选项将目标元素.animate()
设置为opacity
; 0
,.promise()
;在.then()
的目标元素上调用.animate()
,将.then()
设置为opacity
1
var stopY = 400, div = $("div");
$("html, body").animate({
scrollTop: stopY
}, {
duration: 1000,
start: function() {
div.css("opacity", 0)
}
}).promise().then(function() {
div.animate({
opacity: 1
}, 500)
})
body {
height: 800px;
}
div {
position: relative;
top: 400px;
}
答案 2 :(得分:0)
您当前的代码动画不透明度以及scrollTop。你需要做的是:
$("body").css("opacity",0.5);
$('html, body').animate({
scrollTop: stopY
}, 1000, function () {
if ($(this).is("body")) { //Done is triggered for both html and body, so we limit it to only one of the two triggers
$("body").css("opacity",1);
}
});