window.onscroll多次执行函数

时间:2017-06-14 11:20:17

标签: javascript svg

我在下面写了几行:

function testScroll() {
    if (window.pageYOffset > 400) {
        for (var x=0; x<=2; x++){
            newCircle(circle[x],circleId[x],startColorId[x],endColorId[x]);
        }; 
    };
};

window.onscroll = testScroll;

函数显示newCircles但它会像用户向下滚动页面一样多次,如果页面上有三个圆圈,则该功能停止时理想情况,

我试图改变条件是否相等,但它没有帮助,如果你有任何想法请帮助

2 个答案:

答案 0 :(得分:0)

每次滚动时,您当前的功能会创建3个圆圈。

如果你想拥有MAX 3个圈子;执行以下更改:

var _countCirlces =0; // initial circles count
function testScroll(ev){

    if(window.pageYOffset>400) {
        // create 1 circle for each scroll + increment _countCircles
        newCircle(circle[x],circleId[x],startColorId[x],endColorId[x]);
        _countCircles++;

    };return;

};

window.onscroll=testScroll;

答案 1 :(得分:0)

var _circleCount = 0;

function testScroll(ev) {

    if(window.pageYOffset>400 && _circleCount < 2) {
        for (var x=0; x<=2; x++) {
            newCircle(circle[x], circleId[x], startColorId[x], endColorId[x]);
            _circleCount++;
        }; 
    };
    return;
};

window.onscroll = testScroll;