衰减前的JQuery延迟

衰减前的JQuery延迟,jquery,delay,Jquery,Delay,我已经编写了一个jquery脚本,允许我淡入淡出div,然后重复。代码运行良好。但是,当我尝试添加延迟时(我希望div在淡出前保持几秒钟),它无法正常工作。我尝试在代码中的几个地方添加延迟,但似乎没有一个地方能够正常工作。我使用的是Jquery版本1.9.1 这是我写的脚本: $(document).ready(function(){ ShowPostDiv(0); }); function ShowPostDiv(divIndex) { $(".home_entry_txt")

我已经编写了一个jquery脚本,允许我淡入淡出div,然后重复。代码运行良好。但是,当我尝试添加延迟时(我希望div在淡出前保持几秒钟),它无法正常工作。我尝试在代码中的几个地方添加延迟,但似乎没有一个地方能够正常工作。我使用的是Jquery版本1.9.1

这是我写的脚本:

$(document).ready(function(){
   ShowPostDiv(0);
});

function ShowPostDiv(divIndex)
{
    $(".home_entry_txt").hide();

    if(divIndex >= $(".rotate_hide").length)
    {
        divIndex = 0;
    }
    var divPostHtml = $(".rotate_hide:eq("+divIndex+")").html();
    $(".home_entry_txt").html(divPostHtml); 
    $(".home_entry_txt").fadeIn(3000, function(){
             $(".home_entry_txt").fadeOut("slow");
        });
    divIndex++;
    setTimeout("ShowPostDiv("+divIndex+")", 4000);
}
你可以直接写

$(".home_entry_txt").fadeIn(3000).delay(1000).fadeOut("slow");
试试这个

$(document).ready(function(){
   ShowPostDiv(0);
});

function ShowPostDiv(divIndex)
{
    $(".home_entry_txt").hide();

    if(divIndex >= $(".rotate_hide").length)
    {
        divIndex = 0;
    }
    var divPostHtml = $(".rotate_hide:eq("+divIndex+")").html();
    $(".home_entry_txt").html(divPostHtml); 
    $(".home_entry_txt").fadeIn(3000, function(){
        setTimeout(function(){
            $(".home_entry_txt").fadeOut("slow");
        },4000);
    });
    divIndex++;
}
你试过了吗? 比如:

$(".home_entry_txt").fadeIn().delay(200).queue(function(next) {
$(".home_entry_txt").fadeOut("slow");
});

你试过$(“.home\u entry\u txt”).delay(5000).淡出(“slow”);吗?作为旁注,您应该使用带有setTimeout的匿名函数,而不是字符串。所以,
setTimeout(function(){ShowPostDiv(divIndex);},4000)谢谢!尝试这种方法会使它淡入,停留一段时间,然后淡出。这就是我想要的。但是,它不会在下一个节目中重复。我怎样才能让它再次重复,让下一个节目淡入,停留一段时间,然后淡出?我不知道你说的下一个节目是什么意思?