I have written a jquery script that allows me to fade divs in and out, then repeat. The code works fine. However, when I try to add a delay (I want the div to stay up a few seconds before fading out), it does not work properly. I've tried adding the delay in several places inside the code and none seem to function properly. I am using Jquery version 1.9.1
Here is the script that I have written:
$(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); }
You can just write
$(".home_entry_txt").fadeIn(3000).delay(1000).fadeOut("slow");
Have you tried .delay()? something like:
$(".home_entry_txt").fadeIn().delay(200).queue(function(next) { $(".home_entry_txt").fadeOut("slow"); });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With