jquery - .animate在IE中不起作用

时间:2012-10-17 08:21:15

标签: jquery internet-explorer jquery-animate

我有一些脚本:

$(window).load(function(){
$("#kontakt_kontakt").hover(
    function(){
       $("#kontakt").animate({left: '',bottom: '+=60'}, 440); 
    }, 
    function(){
       $("#kontakt").animate({left: '',bottom: '-=60'}, 440);  
    });

});

在悬停时,它会使img向上移动几个pxs。在Chrome中完美地工作但在IE中并不真正起作用 - 只是没有任何反应。任何人都知道如何解决它? 您可以在此处查看:http://kafior.mydevil.net/index.html

4 个答案:

答案 0 :(得分:3)

你有这个错误:

TypeError: element.dispatchEvent is not a function

element.dispatchEvent(event);
在你的prototype.js文件中,你包含了几个版本的jQuery和prototype,并且这两个框架都在使用$,你需要在jQuery中查看noConflict方法,然后你真的应该尝试删除尽可能多的jQuery版本,没有真正的理由需要下载2-3个版本的jQuery。

答案 1 :(得分:1)

您有此错误:

SCRIPT438: Object doesn't support property or method 'dispatchEvent'

下面:

 if (document.createEvent) {
    element.dispatchEvent(event);
 } else {
    element.fireEvent(event.eventType, event);
 }

你从事物的外观在同一页面上使用jQuery AND Prototype。您需要运行jquery noConflict模式。

jQuery.noConflict();

将此行添加到jQuery代码的顶部。

答案 2 :(得分:0)

如果您按 F12 然后选择控制台标签,页面上会出现JavaScript错误。

发生错误是因为该页面包含两个不同的JavaScript框架 - prototypejQuery,它们都定义了$函数。有关如何使用jQuery Using JQuery and Prototype in the same page函数将它们一起运行,请参阅.noConflict()

此外,您应该考虑优化jQuery和<script>标记,有很多重复的代码可以组合在一个事件句柄函数中。

答案 3 :(得分:0)

它也可以在IE中运行,但是你的图像仍然存在。

如果您指向菜单上方的页面,则图像会移动。如果您指向图像,它们将不会移动,因为具有悬停事件的元素位于图像后面,并且悬停事件显然不会在IE中的图像中冒泡。