Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 减少jQuery中的代码重复_Javascript_Jquery - Fatal编程技术网

Javascript 减少jQuery中的代码重复

Javascript 减少jQuery中的代码重复,javascript,jquery,Javascript,Jquery,我正在创建一系列div动画,这产生了大量重复代码 例如: $('#elem a:eq(0)').addClass("hiddenCSS").viewportChecker({ classToRemove: 'hiddenCSS', classToAdd: 'animated bounceInLeft', offset: 200 }); $('#elem a:eq(1)').addClass("hiddenCSS").viewportChecker({ class

我正在创建一系列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);

您的代码应该与准备好的文档一起工作。在执行
动画(…)


您的代码应该与准备好的文档一起工作。在执行
动画(…)


如果在内部定义函数

$(document).ready(function() {
  function myFunction() {}
  myFunction();
)};
它将不会在全球范围内提供

把它移到外面去

function myFunction() {}

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

如果在内部定义函数

$(document).ready(function() {
  function myFunction() {}
  myFunction();
)};
它将不会在全球范围内提供

把它移到外面去

function myFunction() {}

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

该代码看起来应该可以工作。控制台说什么?它说“动画未定义”,然后可能有其他输入错误。如果您是对的,我忘记了classToAdd中的空格(
classToAdd:'animated'+''+animation
)。现在动画可以加载,但如果我在控制台中编写,它仍然会说函数没有定义。对不起,我不明白你的意思?如果在控制台中编写,那么代码看起来应该可以工作。控制台说什么?它说“动画未定义”,然后可能有其他输入错误。如果您是对的,我忘记了classToAdd中的空格(
classToAdd:'animated'+''+animation
)。现在动画可以加载,但如果我在控制台中编写,它仍然会说函数没有定义。对不起,我不明白你的意思?如果您在控制台中编写它?正如我在与OPYes讨论时评论的那样,在我的评论之后:)nice behavior@mplungjanWhat behavior?我相信我的评论就是答案——不要用文件来包装。准备好了吗?很明显,它已经准备好了。那是孩子们玩的:)我不明白你的意思。您的评论建议将他的调用包装在document.ready中-他的问题是他的所有代码(包括函数声明)都在document.ready中。正如我在与OPYes讨论时评论的那样,在我的评论之后:)nice behavior@mplungjanWhat behavior?我相信我的评论就是答案——不要用文件来包装。准备好了吗?很明显,它已经准备好了。那是孩子们玩的:)我不明白你的意思。您的评论建议将他的调用包装在document.ready中-他的问题是,包括函数声明在内的所有代码都在document.ready中。