2番目の質問:私の経験では、これは通常、ページの他の場所でJavascriptエラーが発生したためです。Javascriptの例外が1つあると、ページの残りの部分でJavascriptの実行が停止します。Firebugをインストールしてみて(まだインストールしていない場合)、[コンソール]タブを開いて有効にします。次に、JavaScriptのエラーまたは例外がコンソールに出力されます。
もう1つ試してみるのは(私の最後のステートメントと少し矛盾します...)、すべてのブラウザープラグインを無効にして、再作成できるかどうかを確認することです。ページ上のスクリプト(特にGreaseMonkey)に干渉することがあります。
このアニメーションの問題を再現するサンプルHTMLスニペットを提供できれば、私たちがお手伝いするのははるかに簡単です。 以下に貼り付けたスクリプトでは、好きなだけ速くまたは遅く、一日中クリックすることができ、アニメーション化に失敗することはありません。
最初の質問:回避策を見つけたとおっしゃっていましたが、以下は私にとってはうまくいくので(IE6でも)、あなたが考えていたものとは異なる可能性があるので、投稿したいと思いました。(CSSの「不透明度」プロパティの設定jQuery.css()はIEで機能しますが、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>