在javascript中设置此函数最有效的方法是什么?

在javascript中设置此函数最有效的方法是什么?,javascript,performance,Javascript,Performance,这里完全没有问题,我假设有一种方法可以写得更快/更小。有什么建议吗 很抱歉,如果它没有真正减少&超出我正在使用的框架,但这里有一个实例,如果这有帮助的话 实例: (仅适用于webkit,我只在chrome中测试过) 我不太了解您的应用程序,但这里有一些东西可能会为您指明正确的方向 这肯定是不实用的,因为我并没有太多的背景信息,并且做了一些假设: var BannerCount=5; var-PSD=[]; 对于(i=0;i

这里完全没有问题,我假设有一种方法可以写得更快/更小。有什么建议吗

很抱歉,如果它没有真正减少&超出我正在使用的框架,但这里有一个实例,如果这有帮助的话

实例: (仅适用于webkit,我只在chrome中测试过)


我不太了解您的应用程序,但这里有一些东西可能会为您指明正确的方向

这肯定是不实用的,因为我并没有太多的背景信息,并且做了一些假设:

var BannerCount=5;
var-PSD=[];
对于(i=0;i
我们可能需要一个对象bannerdrop将保存您拥有的任何属性。所以我们要做的是声明这个对象的数组,如下所示:

function bannerdrop(y){
       this.y = y;
       this.on('click', function(){bookmark(this);});
    }
     function bookmark(obj){
        var down;
        var away;
        var small;

        //animations
        obj.animate({
            properties:{y:down},
            curve:"spring(100,15,200)"
        });
    }
    var bannerArray = new Array(new bannerdrop(-200), new bannerdrop(-200), new bannerdrop(-200));

哇。是的,当然可以改进,但对于创建数组和循环来说,可能是一个更好的问题?啊,我不知道,谢谢!
var BannerCount = 5;

var PSD = [];

for (i = 0; i < count; i++) {
    PSD[i] = {};
    PSD[i].btn = document.getElementById('bannerbtn-' + i);

    PSD[i].btn.on("click", function (eevent) {
        Bookmark(eevent.srcElement);
    });

    PSD[i].y = -200;
    PSD[i].on("click", function (eevent) {
        Bookmark(eevent.srcElement);
    });

    PSD[i].drop = document.getElementById('bannerdrop-' + i).addEventListener("click",

    function (eevent) {
        Bookmark(eevent.srcElement);
    });
}

function Bookmark(itemPSD) {

    var down;
    var away;
    var small;

    if (itemPSD.btn.style.opacity == 1) {
        away = 0;
        small = 0.03;
        down = -13;
    } else if (itemPSD.btn.style.opacity === 0) {
        away = 1;
        small = 1;
        down = -200;
    }

    //animations
    itemPSD.drop.animate({
        properties: {
            y: down
        },
        curve: "spring(100,15,200)"
    });

    itemPSD.btn.animate({
        properties: {
            opacity: away,
            scale: small
        },
        curve: "linear",
        time: 100
    });
}
function bannerdrop(y){
       this.y = y;
       this.on('click', function(){bookmark(this);});
    }
     function bookmark(obj){
        var down;
        var away;
        var small;

        //animations
        obj.animate({
            properties:{y:down},
            curve:"spring(100,15,200)"
        });
    }
    var bannerArray = new Array(new bannerdrop(-200), new bannerdrop(-200), new bannerdrop(-200));