1

我有一些脚本:

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

});

在悬停时,它会使 img 向上移动几个像素。在 chrome 中完美工作,但在 IE 中并没有真正工作——只是没有任何反应。任何人都知道如何解决它?你可以在这里查看:http: //kafior.mydevil.net/index.html

4

4 回答 4

3

你有这个错误:

TypeError: element.dispatchEvent is not a function

element.dispatchEvent(event);

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

于 2012-10-17T08:24:23.293 回答
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 代码的顶部。

于 2012-10-17T08:26:52.467 回答
0

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

发生错误是因为该页面包含两个不同的 JavaScript 框架——原型jQuery,它们都定义了$函数。有关如何使用 jQuery函数同时运行它们,请参阅同一页面中的使用 JQuery 和 Prototype 。.noConflict()

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

于 2012-10-17T08:27:20.120 回答
0

它也可以在 IE 中使用,但是您的图像会妨碍您。

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

于 2012-10-17T08:30:30.383 回答