jQuery animate <object>标记</object>

时间:2012-05-01 14:09:41

标签: jquery jquery-animate

我有一个<object>,其中id为'objectID'。

我可以使用.css修改其位置:

$('#objectID').css({'top': "+=200px"});

但是当我使用.animate时,它将不起作用:

$('#objectID').animate({'top': "+=100px"}, 1000);

$('#objectID').animate({top: "10"}, slow);

或任何其他适用于div的变体。动画object元素是否有限制?

4 个答案:

答案 0 :(得分:3)

由于不支持<object>标记,您可以像这样删除自己的动画:

var obj = $('#objectID');
var speed = 50;
var distance = 100;

var i = setInterval(function() {
    obj.css({'top': '+=1px' });
    if (parseInt(obj.css('top')) > distance) {
        clearInterval(i);
    }
}, speed);

更改速度变量以获得所需的动画速度。

Here's the jsfiddle

答案 1 :(得分:0)

为了使用top来制作动画,你的元素需要位置,例如position:relative或position:absolute。

答案 2 :(得分:0)

您是否为此对象添加了适当的css?

​#objectID{
  position: absolute;
  top: 0px;
  ...
}​

确实,我认为Object可能不支持animate()。我能够在jsfiddle中使用.css

但是应该可以使用.css()http://jsfiddle.net/mkprogramming/bw9Kb/15/

答案 3 :(得分:0)

$('#objectID').animate({'top': "+=100px"}, 1000); top周围不需要引号。

$('#objectID').animate({top: "10"}, slow); 整数不应该用引号括起来,slow应该用引号括起来。

那应该解决你的问题。