我有一些脚本:
$(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
答案 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框架 - prototype和jQuery,它们都定义了$
函数。有关如何使用jQuery Using JQuery and Prototype in the same page函数将它们一起运行,请参阅.noConflict()
。
此外,您应该考虑优化jQuery和<script>
标记,有很多重复的代码可以组合在一个事件句柄函数中。
答案 3 :(得分:0)
它也可以在IE中运行,但是你的图像仍然存在。
如果您指向菜单上方的页面,则图像会移动。如果您指向图像,它们将不会移动,因为具有悬停事件的元素位于图像后面,并且悬停事件显然不会在IE中的图像中冒泡。