在jQuery

时间:2015-11-12 09:32:27

标签: javascript jquery

我创建了一个div动画数组,并产生了大量重复代码。

例如:

$('#elem a:eq(0)').addClass("hiddenCSS").viewportChecker({
    classToRemove: 'hiddenCSS',
    classToAdd: 'animated bounceInLeft',
    offset: 200
});

$('#elem a:eq(1)').addClass("hiddenCSS").viewportChecker({
    classToRemove: 'hiddenCSS',
    classToAdd: 'animated bounceInUp',
    offset: 400
});

这只是两个元素,但如果我有几十个怎么办?我的代码变得非常快。

我想创建一个功能,使事情变得更容易,但它不起作用。现在我想知道我是否应该使用特定方法创建一个类。 这是我尝试过的,不起作用而且未定义:

function animation(elem,animation,offset) {
    $(elem).addClass("hiddenCSS").viewportChecker({
        classToRemove: 'hiddenCSS',
        classToAdd: 'animated' + animation,
        offset: offset
    });
}

animation('#elem a:eq(1)', 'bounceIn', 200);

2 个答案:

答案 0 :(得分:3)

如果在

中定义一个函数
--arp

它不会全球可用。

将其移到外面

$(document).ready(function() {
  function myFunction() {}
  myFunction();
)};

答案 1 :(得分:1)

您的代码应该可以使用文档。在执行animation(...)

之前,似乎没有堆叠函数声明
function animation(elem,animation,offset) {
    $(elem).addClass("hiddenCSS").viewportChecker({
        classToRemove: 'hiddenCSS',
        classToAdd: 'animated' + animation,
        offset: offset
    });
}

// $(function(){
// or more readable
$(document).ready(function() {    
    animation('#elem a:eq(1)', 'bounceIn', 200);
});