我正在使用jQuery向下滑动某些内容并将其他内容淡出,但在测试时,我注意到滑动发生后褪色显得太长。 换句话说,它有足够的滞后性。
为了使自己清楚,我滑动一个并且褪色的这两个项目是不同的元素,我不能使用链接。
有没有办法让这些功能同时或更近距离运行,以便它们看起来同时运行?
这是我正在使用的jQuery代码:
$(document).ready(function(){
$('#trigger').click( function(){
$(this).animate({ opacity: 0.0 }); // fade
$('#carousel').animate({ top: '100px' }); // slide
$('#pullrefresh').css('top', '-490px'); // line 5
$('#detector').hide(); // line 6
});
});
褪色和幻灯片在不同的时间发生,第5行和幻灯片似乎同时发生。
答案 0 :(得分:2)
如果你这样做,它们应该一起运行:
$('#element1').animate({
opacity: 0.25,
}, 1000, function() {
// complete
});
$('#element2').animate({
opacity: 0,
}, 1000, function() {
// complete
});
答案 1 :(得分:1)
试试这个
$(document).ready(function(){
$('#trigger').click( function(){
$(this).animate({ opacity: 0.0 },1000); // fade
$('#carousel').animate({ top: '100px' }); // slide
$('#pullrefresh').css('top', '-490px'); // line 5
$('#detector').hide(); // line 6
});
});
指定动画
的时间1000答案 2 :(得分:0)
$(document).ready(function(){
$('#trigger').click( function(){
$.Deferred(function(dfr) {
dfr.pipe(function() {
return $(this).animate({ opacity: 0.0 }); // fade
}).
pipe(function() {
return $('#carousel').animate({ top: '100px' }); // slide
})
pipe(function() {
return $('#pullrefresh').css('top', '-490px'); // line 5
}).
pipe(function() {
return $('#detector').hide(); // line 6
});
}).resolve();
});
});
答案 3 :(得分:0)
如果你设置一个小提琴,那就更好了。 如果你的DOM很大,你可以通过提前查找来最小化减少延迟:
$(document).ready(function(){
$('#trigger').click( function(){
var vars = { $this : $(this),
$carousel : $('#carousel'),
$pullrefresh : $('#pullrefresh'),
$detector : $('#detector')
};
vars.$this.animate({ opacity: 0.0 },1000); // fade
vars.$carousel.animate({ top: '100px' }); // slide
vars.$pullrefresh.css('top', '-490px'); // line 5
vars.$detector.hide(); // line 6
});
});