Nó trông giống như một khai báo hàm:
function(i)
{
// .....
}
Vì vậy i
là một giá trị được truyền vào chức năng (mà đã được công bố nội tuyến như một chức năng ẩn danh) như tham số đầu tiên của nó, có lẽ bởi liên kết nội hoạt động của phương pháp retarder
mà bạn đang chuyển hàm vào.
Re-viết code để nó là một chút dễ đọc hơn làm cho điều này rõ ràng hơn một chút:
ul.css(
{
width: 10,
overflow: 'visible'
}
).retarder(100, function(i)
{
i.css('visibility', 'visible').animate(
{
width: ul[0].wid,
left:-50
},
{
duration: 500,
complete: function()
{
ul.css('overflow', 'visible');
}
}
);
}
);
Và sau đó bạn có thể viết lại nó được thậm chí rõ ràng hơn:
ul.css(
{
width: 10,
overflow: 'visible'
}
).retarder(100, functionToPassToRedtarder);
function functionToPassToRetarder(i)
{
i.css('visibility', 'visible').animate(
{
width: ul[0].wid,
left:-50
},
{
duration: 500,
complete: functionToPassToComplete
}
);
}
function functionToPassToComplete()
{
ul.css('overflow', 'visible');
}
Đó là hàm ẩn danh làm đối số. Vì vậy, tôi là đối số đầu tiên mà hàm chấp nhận. Phương thức retarder gọi hàm nói, gọi lại (10, 11, 12), và do đó cung cấp một giá trị cho i. Trong trường hợp này i = 10 và mọi thứ khác bị loại bỏ. – srcspider
Nhân tiện, 'i' là một tên khủng khiếp cho đối số đó, thay đổi nó thành một cái gì đó mô tả –