问题:
我想我已经得到了罪人!但我似乎无法找到解决方法。当我从JS文件中删除它时,一切都像魅力一样:
//Left menu :hover-effect
$('ul.menu li a:not(.active)')
.css({backgroundPosition: '262px 12px'})
.mouseover(function(){
$(this).stop().animate({backgroundPosition: '248px 12px'})
})
.mouseout(function(){
$(this).stop().animate({backgroundPosition: '262px 12px'})
});
//Left menu :hover-effect (Child)
$('ul.menu li ul li a:not(.active)')
.css({backgroundPosition: '262px 7px'})
.mouseover(function(){
$(this).stop().animate({backgroundPosition: '248px 7px'})
})
.mouseout(function(){
$(this).stop().animate({backgroundPosition: '262px 7px'})
});
详细说明:
我在this page I've done上有这个非常奇怪的问题。
我有一个名为ModersBrowserEffects.js的JS文件,我在网站上产生了很多影响。动画等。
这一切都适用于IE浏览器,甚至IE8都没有。
它说错误是在ModersBrowserEffects.js中的第1行和第1个字符,但我不明白为什么$应该是错误?
如果这还不够......如果您将鼠标悬停在左侧菜单(具有动画背景位置,在ModernBrowserEffects.js中指定),则会出现许多新错误。现在它的jQuery在第156行有一些错误......
答案 0 :(得分:1)
IE不会/不应该让你通过这种方式直接关闭背景位置。显然你可以使用CSS Hooks来做,但我没试过。如果您关注this link,则会有更详细的答案以及指向该插件的链接,该插件将为您提供此功能。
有趣的是,如果你将你的jQuery版本更改为1.4.2它应该可以工作。见example
答案 1 :(得分:0)
尝试删除文件末尾的以下代码
(jQuery)
答案 2 :(得分:0)
您遇到路径问题,您在HTML中使用相对路径。
// this one is absolute
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"> </script>
// these are relative
<script type="text/javascript" src="/scripts/jquery.example.js"></script>
<script type="text/javascript" src="/scripts/jquery.cycle.all.min.js"></script>
<script type="text/javascript" src="/scripts/topbillede.js"></script>
<script type="text/javascript" src="/scripts/slimbox2.js"></script>
<script type="text/javascript" src="/scripts/modernBrowserEffects.js"></script>
因此,当您在首页时,浏览器将加载存在的http://bevola.dk/scripts/modernBrowserEffects.js
,但是当您在子页面上时,浏览器会尝试加载http://bevola.dk/om-bevola/koncepter/globalpartner/scripts/modernBrowserEffects.js
,这会引发一个404 Error。
让你的脚本路径绝对修复它:
<script type="text/javascript" src="http://bevola.dk/scripts/modernBrowserEffects.js"></script>
为什么它只在IE中断?我猜只有IE使用了无法加载的部分脚本。
答案 3 :(得分:0)
问题与脚本有关,如编辑中所写。 我已经重写了脚本,所以它现在没有出错。但现在它在IE中没有动画效果。它在每个其他浏览器中都有。脚本:
//Leftmenu :hover-effect
$('ul.menu li a:not(.active)').css({backgroundPosition: '262px 12px'});
$('ul.menu li a:not(.active)').hover(function() {
$(this).stop().animate({backgroundPosition: '248px 12px'}, 150);
}, function() {
$(this).stop().animate({backgroundPosition: '262px 12px'}, 150);
});
//Leftmenu :hover-effect (Child)
$('ul.menu li ul li a:not(.active)').css({backgroundPosition: '262px 7px'});
$('ul.menu li ul li a:not(.active)').hover(function() {
$(this).stop().animate({backgroundPosition: '248px 7px'}, 150);
}, function() {
$(this).stop().animate({backgroundPosition: '262px 7px'}, 150);
});
错误已解决,但是你们中的任何人都可以告诉我为什么它不会在IE中动画吗?