Javascript 名为'animate'的JS函数不';不在Chrome中工作,但在IE中工作
这行不通,什么也没发生。我如何让它工作,我做错了什么Javascript 名为'animate'的JS函数不';不在Chrome中工作,但在IE中工作,javascript,html,css,Javascript,Html,Css,这行不通,什么也没发生。我如何让它工作,我做错了什么 function animate(){ var div=document.getElementById('demo'); div.style.left=“200px”; div.style.color=“红色”; } #演示{ 位置:绝对位置; } lolol如评论中所述,修复方法是重命名函数,因为Chrome似乎保留了原始名称 元素。动画() 即将发布的Web动画JavaScript API允许您通过脚本设置Web内容的动画。今天Beta
function animate(){
var div=document.getElementById('demo');
div.style.left=“200px”;
div.style.color=“红色”;
}
#演示{
位置:绝对位置;
}
lolol
如评论中所述,修复方法是重命名函数,因为Chrome似乎保留了原始名称
元素。动画()
即将发布的Web动画JavaScript API允许您通过脚本设置Web内容的动画。今天Beta版中包含的element.animate()函数是Chrome中提供的API的第一部分:它使使用JavaScript创建简单的CSS动画成为可能。这意味着可以动态生成动画,而无需支付CSS样式的重新计算成本。以这种方式创建的动画也可以取消,并提供有保证的结束事件(相反,CSS转换仅在导致样式更改时生成事件)
这是原始动画
功能的使用示例:
elem.animate([
{transform: 'translateX(0px)'},
{transform: 'translateX(100px)'}
], 3000);
问题是,因为你使用了一个,你的全局函数
window.animate
…被…笼罩着
Element.prototype.animate
…最近于年推出:
由于DOM元素可能是动画的目标,因此
接口[DOM4]扩展如下:
Element implements Animatable;
这允许以下类型的使用
elem.animate({ color: 'red' }, 2000);
此行为的解释如下所示:
词汇环境范围
- 重命名你的函数
函数设置动画{ var div=document.getElementById('demo'); div.style.left=“200px”; div.style.color=“红色”; }
#演示{ 位置:绝对位置; }
我刚刚遇到了同样的问题。现在我知道“animate”是一个保留的词或什么的。我把函数名从“animate”改为“anim”,程序运行良好。真是个恶作剧 未捕获类型错误:未能对“元素”执行“动画”:有效的算术为:[1],但提供了0个参数。在Chrome中不工作,在IE中工作。~~~它与p标记上的onclick无关,但与animate函数有关。将animate重命名为anim。似乎animate是一个保留字(在Chrome中)second@mplungjan。。。这里有很多人先投反对票,然后再动脑筋。。。别理他们。你的问题很好,我只是把标题改了一点,以便更好地反映这个问题,并将帮助未来偶然发现这个问题的用户。欢迎来到SO!找到了。“我不能很快找到它,因为它不是一个ecmascript,谢谢你,@mplungjan。”。我认为这不是ecma,所以直接去寻找Chrome(ium)的实现。这可能是最完整的答案。顺便说一句。为什么要使用单击我
var div=document.getElementById('demo')代码>shouldnt
var div=this代码>足够吗?如果没有修复id,它甚至可以用于多个元素…@wawa好的,没错,我只是使用了OP的代码。为了保持简单,我将保持原样(而不是在使用事件处理程序内容属性时使用
将call
传递给函数)。this