Reputation: 1807
I'm using append
on jquery. I want to show the data one by one, first show loading image for 5 seconds then fade in the data badge id from big size font to small.
Any clues on how to do that?
<div class="loading">
<img src="https://loading.io/spinners/mac/lg.mac-fan-spinner.gif" />
<div class="setBadgeID"></div>
</div>
$.ajax({
url: "getDraw",
type: "POST",
data: { ID: ID },
dataType: "JSON",
success: function(jsonStr) {
$('.loading').show();
for (var i = 0; i < jsonStr.badgeID.length; i++) {
var num = i + 1;
var badgeID = jsonStr.badgeID[i];
$('.setBadgeID').append(badgeID).fadeIn('slow');
}
}
});
$ID = $_POST['ID'];
$qTotalLuckyDraw = mysqli_query($con, "SELECT * FROM tbl_lucky_draw WHERE lucky_draw_id = '" . $ID . "'");
$dTotalLuckyDraw = mysqli_fetch_array($qTotalLuckyDraw);
$getTotalLuckyDraw = $dTotalLuckyDraw['total_draw'];
$getLuckyDrawID = $dTotalLuckyDraw['lucky_draw_id'];
$qGetLuckDraw = mysqli_query($con, "SELECT * FROM tbl_employee_attend WHERE flag = 'N' ORDER BY rand() LIMIT $getTotalLuckyDraw");
while($dGetLuckDraw = mysqli_fetch_array($qGetLuckDraw))
{
$badgeID[] = $dGetLuckDraw['badgeid'];
$update = mysqli_query($con, "UPDATE tbl_employee_attend SET flag = 'Y', lucky_drawid_fk = '" . $getLuckyDrawID . "' WHERE badgeid = '" . $dGetLuckDraw['badgeid'] . "'");
}
$data = array(
'badgeID' => $badgeID,
'totalLuckyDraw' => $getTotalLuckyDraw,
'totalEmployeeLuckyDraw' => $getTotalLuckyDraw
);
echo json_encode($data);
Upvotes: 1
Views: 120
Reputation: 777
Try below code
$('.loading').show();
$.ajax({
url: "getDraw",
type: "POST",
data: { ID: ID },
dataType: "JSON",
success: function(jsonStr) {
$('.loading').hide();
console.log("jsonStr" , jsonStr);
for (var i = 0; i < jsonStr.length; i++) {
console.log("jsonStr[i]" , jsonStr[i]);
$('.setBadgeID').append(jsonStr[i]).fadeIn('slow');
}
}
});
Upvotes: 1