1

アイテムが追加されるたびに、最後のアイテムを削除するリストがあります。私はそれがクロムとFirefoxで正常に動作しているが、IEは拒否している。IE8小規模のjQueryアニメーションスニペ​​ットで無効な引数

IE8が何らかの点で無効な引数エラーをスローする理由はわかりません。私はこの部分まで追跡したと信じていますが、どこか理由はわかりません。エラーが実際にこの部分の外にある場合には、より完全な、作業中の(またはIE8で動作していない)version hereを見ることができます。

first.animate({top:0}, 250, function() { 
    first.animate({marginTop: oldMarginTop}, 500, function() { 
     last.animate({top: olPaddingBottom}, 125, function() { 
      //Remove the old element 
      last.remove(); 
      //Reset the CSS we changed 
      stream.css({ 
       height: 'auto', 
       overflowY: 'visible' 
      }); 
     }); 
    }); 
}); 

リストの最初と最後のノードが選択されています。最初は新しく作成されたリスト項目で、最後は削除する項目です。代わりにoldMarginTopの

+0

数値))、安っぽいのブラウザで発生するエラーは、まだできること方法ではありません特定のコードをトレース縮小されたコードで列20,125を探しています。 – Jasper

+0

コンソールをFirefoxまたはChromeでチェックしましたか? IEにはクロムには存在しない問題がありますが、クロムは通常IEよりも正確にスローされエラーが発生します。 – kwelch

+0

@ジャスパー私は同意しますが、Chromeはミニコードを少し読みやすくする素晴らしい印刷機能を備えています。 – Jivings

答えて

2

使用....

parseInt(0+oldMarginTop,10) 

私にとっては、この値がアニメーションすることができませんIEはoldMarginTopのための「自動」を返す、あなたは数値を必要とする(提案は時に値を0に設定しますそれは、私はいつもそれが参考にjQueryのような任意のスクリプト(の非縮小さバージョンを使用して、私のコードを開発するために見つける

http://jsbin.com/uvepit/

+0

それは本当にそれを解決します。ありがとうございました! –

+1

ブリリアント!この答えは正しい軌道に乗った - 私は 'marginTop:をアニメーション化しようとしていた ' - ' Webkit/Gecko/IE9で正常に動作したようだが、IE <= 8で亡くなった。 –

+0

数字、 'px'の数字の文字列、'% 'の数字の文字列にすることができます。数字が1 **未満でない限り、IE8は小数点以下を扱うことができることに注意してください(実際のブラウザでは '0.xxxx%'のアニメーションを処理していましたが、IE8は ' 1% '、' '1.xxxxx%' 'を管理することができます)。 – user568458