Ich habe ein Jquery-Skript geschrieben, mit dem ich Divs ein- und ausblenden und dann wiederholen kann. Der Code funktioniert gut. Wenn ich jedoch versuche, eine Verzögerung hinzuzufügen (ich möchte, dass das Div einige Sekunden vor dem Ausblenden bleibt), funktioniert es nicht richtig. Ich habe versucht, die Verzögerung an mehreren Stellen im Code hinzuzufügen, und keine scheint richtig zu funktionieren. Ich verwende Jquery Version 1.9.1
Hier ist das Skript, das ich geschrieben habe:
$(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);
}
Haben Sie versucht $(“.home_entry_txt”).delay(5000).fadeOut(“slow”); ?
– isotrop
28. März 2013 um 16:05 Uhr
Als Nebenbemerkung sollten Sie anstelle einer Zeichenfolge eine anonyme Funktion mit setTimeout verwenden. So,
setTimeout(function() { ShowPostDiv(divIndex); }, 4000);
– Colin DeClue
28. März 2013 um 16:12 Uhr