我正在制作一个新闻板,让新闻内外消失。当元素淡出时,内容会被删除,当它逐渐消失时,就会有新的内容。 这是有效的,只是时间关闭。仅当旧内容消失时才会出现的新内容会在元素消失时显示。有没有办法等到这个完成?
$(document).ready(function() {
var counter = 0;
var slides = ['<p>Track All of Your enemys Using The <span>Scout Tool!</span></p>',
'<p>Download powerups Using The <span>Pirate Tool!</span></p>',
'<p>Gather Badges To Attack others in <span>Raids!</span></p>',
'<p>Enjoy Orgainzing Your Profile <span>Join Now!</span></p>'];
$('#slide-left').click(function() {
$('#slide').fadeTo('fast', 0);
$('#slide p').remove();
if (counter > 0){counter --;}
$('#slide').append(slides[counter]);
$('#slide').fadeTo('fast', 1);
});
$('#slide-right').click(function() {
$('#slide').fadeTo('fast', 0);
$('#slide p').remove();
if (counter < (slides.length-1)){counter ++;}
$('#slide').append(slides[counter]);
$('#slide').fadeTo('fast', 1);
});
});
答案 0 :(得分:4)
fadeTo接受第三个参数,即回调函数。动画完成时调用此方法。所以你总是可以这样做:
$('#slide').fadeTo('fast', 1, function() {
// This part is executed after fade
});
答案 1 :(得分:1)
你可以做到
$('#slide').fadeTo('fast', 0,function(){
$('#slide p').remove();
if (counter > 0){counter --;}
$('#slide').append(slides[counter]).fadeTo('fast', 1);
});
答案 2 :(得分:-1)
$(document).ready(function() {
var counter = 0;
var slides = ['<p>Track All of Your enemys Using The <span>Scout Tool!</span></p>',
'<p>Download powerups Using The <span>Pirate Tool!</span></p>',
'<p>Gather Badges To Attack others in <span>Raids!</span></p>',
'<p>Enjoy Orgainzing Your Profile <span>Join Now!</span></p>'];
$('#slide-left').click(function() {
$('#slide').fadeTo('fast', function() {
$('#slide p').remove();
if (counter > 0){
counter --;
}else{
if (counter < (slides.length-1)){
counter ++;
}
}
$('#slide').append(slides[counter]);
$('#slide').fadeTo('fast', 1);
});
});
});
我不知道这是否正确,但我的5个sents:
希望我有所帮助,