对于您的第二个问题:根据我的经验,这通常是因为页面上的其他地方发生了 Javascript 错误。一旦出现一个 Javascript 异常,页面的其余部分就会停止运行 Javascript。尝试安装Firebug(如果您还没有安装),然后打开“控制台”选项卡并启用它。然后任何 javascript 错误或异常都将打印到控制台。
另一件要尝试的事情(这有点与我的最后陈述相矛盾......)是禁用所有浏览器插件以查看是否可以重新创建。有时它们会干扰页面上的脚本(尤其是 GreaseMonkey。)
如果您可以提供重现此动画问题的示例 HTML 片段,那么我们为您提供帮助会容易得多。 在我粘贴在下面的脚本中,我可以整天点击它,无论快慢都可以,而且它永远不会为我制作动画。
对于第一个问题:我知道您说您找到了解决方法,但以下内容对我有用(即使在 IE6 上)所以我想我会发布它,因为它可能与您的想法不同。(请注意,通过jQuery.css()
在 IE 上设置 CSS 的“不透明度”属性,而 IE 不支持直接在 CSS 中的“不透明度”属性。)
<html>
<head>
<style>
body { background-color: #08f; }
#test { background-color: white; width: 100px; }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
var myOpacity = 0.125;
$(function(){
$('#test').css('opacity', myOpacity);
$('a').click(function(){
myOpacity = 1.0 - myOpacity;
$('#test').animate({ opacity: myOpacity });
return false;
});
});
</script>
</head>
<body>
<p><a href="#">Click me</a></p>
<div id="test">Test</div>
</body></html>