我在div
中有一个图像,以及以下Javascript代码:
function animate_down(key1, key2)
{
cimage = document.getElementById('sslot_img' + key1);
var topval = cimage.offsetTop;
if (topval == -416) {
cimage.animate({ top: '0px' }, 5000);
}
else {
topval = topval - 32;
var toptxt = { 'top': topval.toString() };
cimage.animate(toptxt, 5000);
}
}
我已经在Firebug中对其进行了测试,当调试器达到
.animate
函数时,它会抛出:cimage.animate is not a function
我想念什么?
最佳答案
getElementById
不是jQuery函数,并且不会产生jQuery对象。 animate
仅在jQuery对象上可用。您需要包装cimage
:
$(cimage).animate( ... )
或通过jQuery而不是
getElementById
提取var cimage = $('#sslog_img' + key1);
请注意,如果您使用后一个选项,则
cimage
将没有offsetTop
属性,而必须使用cimage.offset().top
要么
cimage[0].offsetTop