$("#test").click(function () {
$('html,body').animate({ 'scrollTop': '0' }, 500,)
})
这行代码使用的是jquery的写法,一个500毫秒的动画,这样写在Chrome浏览器等没问题,可以正常运行。
但是今天在写项目的过程中,要求代码兼容到IE10,没办法,被迫在IE浏览器下运行,结果发现这行代码会报错。这是怎么回事呢?
简单分析一下,这有点类似js中定时器的写法,setimeout,两个参数,分别代表指定的时间,和定时时间。
而animate是动画的属性,这个时间共花费500毫秒执行完毕。但是这个不是重点,为什么会报错呢?
这时候我注意到500后面的,
,我突然想到一种可能,先把,
删掉。果然不出我所料。控制台不会报错了。
我猜测,这是由IE的机制引起的,浏览器识别到,
的时候,会自动默认后面跟有语句,但是如果空着不写,与浏览器预期的后果不同,就会产生报错。可能IE内核要求也比较严格吧。