Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Stop Spinner.js

I'm using spin.js ( http://fgnass.github.com/spin.js/) while a large full width/height image loads. The problem is I'm having trouble stopping the spinner. The stop() method doesn't seem to work. There's what I've got:

$(document).ready(function($) {
    var img = new Image();
    img.src = $('#top-bg').css('background-image').replace(/url\(|\)/g, '');

    img.onload = function(){
        $("#top-bg").spinner.stop();
        $(".top-bar").delay(1500).fadeIn(5000);
        $("#arrow, #arrowrt, #top-icons").delay(5000).fadeIn(5000);
    };
});

I also tried

.spin(false)

and

.data('spinner').stop()

This is the spinner settings:

$(document).ready(function($) {
    var opts = {
    lines: 9, // The number of lines to draw
    length: 11, // The length of each line
    width: 4, // The line thickness
    radius: 10, // The radius of the inner circle
    rotate: 0, // The rotation offset
    color: '#fff', // #rgb or #rrggbb
    speed: 0.9, // Rounds per second
    trail: 54, // 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('top-bg');
   var spinner = new Spinner(opts).spin(target);
});
like image 834
Connor Avatar asked Mar 31 '12 17:03

Connor


2 Answers

You need to store the spinner instance somewhere - in a way that you can access it when you need it to stop the spinning:

var spinner = new Spinner(opts).spin(target);
$(target).data('spinner', spinner);

And now you're able to stop it like this:

$('#top-bg').data('spinner').stop();
like image 67
Niko Avatar answered Nov 15 '22 10:11

Niko


You can stop spinner without instance:

$(target).spin(false);
like image 35
Vladimir Avatar answered Nov 15 '22 09:11

Vladimir