如何阻止JavaScript自动运行?

时间:2015-06-16 07:54:57

标签: javascript

这是我在网站上使用的脚本。 如何阻止脚本自动运行,而是在鼠标单击时运行?

var nbOptions = 8;
var angleStart = -360;

// jquery rotate animation
function rotate(li,d) {
    $({d:angleStart}).animate({d:d}, {
        step: function(now) {
            $(li)
               .css({ transform: 'rotate('+now+'deg)' })
               .find('label')
                  .css({ transform: 'rotate('+(-now)+'deg)' });
        }, duration: 0
    });
}

// show / hide the options
function toggleOptions(s) {

    $(s).toggleClass('open');
    var li = $(s).find('li');
    var deg = $(s).hasClass('half') ? 180/(li.length-1) : 360/li.length;
    for(var i=0; i<li.length; i++) {
        var d = $(s).hasClass('half') ? (i*deg)-90 : i*deg;
        $(s).hasClass('open') ? rotate(li[i],d) : rotate(li[i],angleStart);
    }
}

$('.selector button').click(function(e) {
    toggleOptions($(this).parent());
});

setTimeout(function() { toggleOptions('.selector'); }, 100);//@ sourceURL=pen.js

示例链接链接= http://www.jqueryscript.net/demo/Animated-Circle-Menu-with-jQuery-CSS3/index.html

1 个答案:

答案 0 :(得分:1)

如果我没弄错的话,你不希望你的脚本在页面加载时自动启动动画。

所以你只需从代码中删除激光线:

setTimeout(function() { toggleOptions('.selector'); }, 100);

这样,只有在您手动点击.selector button时才会启动动画。