I use spin.js for showing a spinner when loading a new page. Because IE had problems with animating a gif I use this library. Now I found out that it doesn't work on iOS. The spinner is not showing up at all. Tested with:
- iPhone with iOS 6.1.3
- iPad with iOS 5.1.1
It is working on every browser for Windows (even Safari for Windows).
Header:
<script type="text/javascript" src="../js/spin.min.js"></script>
before closing body:
<div id ="center" style="position:fixed;top:50%;left:50%"></div>
<script>
var opts = {
lines: 13, // The number of lines to draw
length: 8, // The length of each line
width: 4, // The line thickness
radius: 11, // The radius of the inner circle
corners: 1, // Corner roundness (0..1)
rotate: 0, // The rotation offset
direction: 1, // 1: clockwise, -1: counterclockwise
color: '#000', // #rgb or #rrggbb or array of colors
speed: 1, // Rounds per second
trail: 60, // Afterglow percentage
shadow: false, // Whether to render a shadow
hwaccel: false, // Whether to use hardware acceleration
className: 'spinner', // The CSS class to assign to the spinner
zIndex: 2e9, // The z-index (defaults to 2000000000)
top: 'auto', // Top position relative to parent in px
left: 'auto' // Left position relative to parent in px
};
var target = document.getElementById('center');
var spinner = new Spinner(opts);
$("#select-place input").click(function(){
spinner.spin(target);
});
$(window).bind("load", function() {
spinner.stop();
});
</script>
I tried to use another element. Here it works. The problem is position:fixed
. I read that iOS 5 does support this. How do I center the spinner in the middle of the screen even on iOS? The page is not expliciitely build for mobile devices. It's mainly a desktop version but it should work for iOS too.