猿问

js清除定时器问题?

demo:http://xuhaibing.com/8/%E6%9C...
$(window).resize的时候 里面圆形运动多次执行了

  

            function listResize() {

        //圆形运动

        if ($('div').hasClass('m-service-support')) {


            //获取当前半径,这个半径是动态的

            var ringRadius = $('.m-service-support .bd .items .text .img').height() / 2 - 1;

            var a = ringRadius,

                b = ringRadius,

                r = ringRadius,

                times = 0;


            var t = setInterval(function flutter() {

                times += 0.05;

                var hudu = (2 * Math.PI / 360) * 6 * times;

                var X = a + Math.sin(hudu) * r;

                var Y = b - Math.cos(hudu) * r


                $('.m-service-support .fix').css({

                    left: X - 8 + "px",

                    top: Y - 8 + "px",

                })


                if (times == 60) {

                    return;

                }

            }, 2);

        }


    }

    listResize();


    $(window).resize(function() {


        listResize();


    });


德玛西亚99
浏览 469回答 1
1回答

www说

问题描述不清楚~clearInterval(t);t定义为全局的.如果每次都想定义一个新的定时器:clearInterval(t);t = setInterval(function()...)如果直接用旧的:t = t || setInterval(function()...);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答