I have a shortcode that takes a while to return all the queries and therefore makes the page slow to load. I would like to load the page, with a placeholder. Something like this. I doubt its possible but worth a shot, as it would be an intensive task to write the queries using jquery.
Something along the lines of
<div id="my-widget">
<div class="loader"></div>
</div>
and
<script>
$(document).ready(function() {
$.ajax({
success: function(data) {
.html('<?php echo myshortcode; ?>');
}
$('#my-widget').html(div);
});
</script>
A Solution for your problem could be to shorten the query and only request basic things you need to display the page. Another Solution would be the background request over ajax, so you would craft another site in the background whichs then replaces a body tag :
$.get( "ajax.php?page=index", function( data ) {
$("body").html(data);
});