文档加载后如何加载此javascript函数?

时间:2012-04-20 21:07:48

标签: javascript jquery animation background

j = {largeSign: function(a) {
        var b = $(#identity .scorecard"), c = 43, d = 105 - c, e = 800;
        this.animation(b, d, c, e, a)
    },animation: function (a, b, c, d, e) {
        var f = this, g = 1e3, h, i = function() {
             $(".sign", a).each(function(a, f) {
                  h = parseInt(e + $(this).text()), a > 2 && (d += 30), a === 0 || a === 3 ? $(this).animate({backgroundPosition: "0px " + (b * h + c) + "px"}, d * 1.6) : a === 1 || a === 4 ? $(this).animate({backgroundPosition: "0px " + (b * h + c) + "px"}, d * 1.8) : (a === 2 || a === 5) && $(this).animate({backgroundPosition: "0px " + (b * h - b + c) + "px"}, d * 2, function() {
                      $(this).delay(200).animate({backgroundPosition: "0px " + (b * parseInt(e + $(this).text()) + c) + "px"}, 1e3)
                  })
             })
         };
         setTimeout(i, g)
    }}

基本上我正在尝试为background-position设置动画,让它停在div .sign中已经解析的值上。

7 个答案:

答案 0 :(得分:1)

看起来你正在使用jQuery,所以这里是jQuery解决方案:

$(function() {
    // your code here
});

这只是

的简写
$(document).ready(function() {
    // your code here
});

答案 1 :(得分:1)

使用.ready()

$(document).ready(function(){
  j.largeSign();
});

http://api.jquery.com/ready/

答案 2 :(得分:0)

通过以下方式包装代码:

$(document).ready(function(){

  // the call goes here

})

答案 3 :(得分:0)

你可以用.ready()包裹它:

jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
});

答案 4 :(得分:0)

如果您希望在文档加载后运行,请尝试以下操作:

$(function(){
//put your code here
j = {largeSign: function(a) {...
});

我发现使用'$(function(){'比'$(document).ready'更好,因为如果'$(document).ready'被弃用,你将不必更改任何如果你已经在使用'$(function(){..'。

,那么你的代码

答案 5 :(得分:0)

$(function(){
  j.largeSign.apply(context, arguments);
});

其中..

context将是this在运行时在实际函数中引用的内容

arguments可以是单个值,也可以是函数可以作为参数接收的值/对象的数组(如果有的话)。

答案 6 :(得分:0)

尝试

$(document).ready(function() {
   // put all your jQuery goodness in here.
 });