Javascript 在下面的代码中,如何添加setTimeout来延迟淡入淡出的动画?
我使用以下命令在Javascript 在下面的代码中,如何添加setTimeout来延迟淡入淡出的动画?,javascript,jquery,css,Javascript,Jquery,Css,我使用以下命令在悬停上淡入淡出元素: $(".hidden").hover(function() { $(this).animate({ opacity: 1 }); }, function() { $(this).animate({ opacity: 0 }); }); 我想在不透明度1和不透明度0之间添加一个延迟(稍等片刻,然后淡出元素) 我如何才能做到这一点?这将在淡出前延迟1秒。您需要存储对$(this)的引用,因为在setTimeout中this不再是
悬停
上淡入淡出元素:
$(".hidden").hover(function() {
$(this).animate({
opacity: 1
});
}, function() {
$(this).animate({
opacity: 0
});
});
我想在不透明度1
和不透明度0
之间添加一个延迟(稍等片刻,然后淡出元素)
我如何才能做到这一点?这将在淡出前延迟1秒。您需要存储对$(this)的引用,因为在setTimeout中this不再是DOM元素
$(".hidden").hover(function() {
$(this).animate({
opacity: 1
});
}, function() {
var _this = $(this);
setTimeout(function (){
_this.animate({
opacity:0
});
},1000)
});
$(".hidden").hover(function() {
$(this).animate({
opacity: 1
});
}, function() {
var that = $(this);
setTimeout(function() {
$(this).animate({
opacity: 0
});
}, 1000);
});
这将在淡出前延迟1秒。您需要存储对$(this)的引用,因为在setTimeout中this不再是DOM元素
$(".hidden").hover(function() {
$(this).animate({
opacity: 1
});
}, function() {
var that = $(this);
setTimeout(function() {
$(this).animate({
opacity: 0
});
}, 1000);
});
Yuu可以使用.delay()函数
您可以使用.delay()函数
您想只使用JS来完成此任务吗?@Sprottenwels是的,
setTimeout
@alexchenco在第一次动画回调中添加它怎么样?您已经得到了答案。在setTimeout()
中包装对animate
的第二次调用。不过,我想指出的是,这也可以通过CSS关键帧轻松完成。你想只使用JS来完成吗?@Sprottenwels是的,setTimeout
@alexchenco在第一次动画回调中添加它怎么样?你已经得到了答案。在setTimeout()
中包装对animate
的第二次调用。我想指出,这也可以通过CSS关键帧轻松实现。