如何让Spin.js微调器在停止前延迟?

时间:2014-01-20 13:00:11

标签: javascript spin.js

我有这样的代码

 var opts = {
    lines: 11, // The number of lines to draw
    length: 28, // The length of each line
    width: 25, // The line thickness
    radius: 35, // 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.3, // Rounds per second
    trail: 61, // 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('foo');
var spinner = new Spinner(opts).spin(target);
//do other stuff here
spinner.stop();

但是我想在它停止之前延迟旋转器一段时间。怎么做到这一点?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

var target = document.getElementById('foo');
var spinner = new Spinner(opts).spin(target);
//do other stuff here
// use setTimeout to add a delay to the stop
setTimeout(function(){
 spinner.stop();
}, 1000);

这将在1000毫秒后调用spinner.stop()。您可以将其更改为您想要的任何内容。

答案 1 :(得分:0)

您可以使用setTimeout()方法。

你的初始化仍然是相同的

var target = document.getElementById('foo');
var spinner = new Spinner(opts).spin(target);

然后你打电话

setTimeout(function(){spinner.stop()},5000);

在给定的毫秒数后,函数将执行并停止计时器。