0
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)
    }}

基本上我正在尝试为背景位置设置动画,并让它停在已在 div .sign 中解析的值上。

4

7 回答 7

1

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

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

这只是简写

$(document).ready(function() {
    // your code here
});
于 2012-04-20T21:11:11.773 回答
1

使用 .ready()

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

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

于 2012-04-20T21:11:26.087 回答
0

通过以下方式包装代码:

$(document).ready(function(){

  // the call goes here

})
于 2012-04-20T21:10:37.563 回答
0

你可以用.ready()

jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
});
于 2012-04-20T21:11:14.300 回答
0

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

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

我发现使用 '$(function(){' 比 '$(document).ready' 更好,因为如果不推荐使用 '$(document).ready',如果你已经在使用'$(function(){..'。

于 2012-04-20T21:11:36.400 回答
0
$(function(){
  j.largeSign.apply(context, arguments);
});

在哪里..

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

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

于 2012-04-20T21:15:47.940 回答
0

尝试

$(document).ready(function() {
   // put all your jQuery goodness in here.
 });
于 2012-04-20T21:16:00.763 回答