次のコードはメモリリークを引き起こしています(これは、ホバーインおよびホバーアウトするほど遅くなることがわかります)。残念ながら、オフィスでjavascriptプロファイラーをダウンロードできません(ダウンロードできます。数日/数週間かかります)。
これがコードで、ドロップダウンメニューの簡単なトランジションです。
$(document).ready(function(){
breadcrumbOver = function () {
$(this).stop().animate({ backgroundColor: "#3393b5", textIndent: 15 }, 250);
}
breadcrumbOut = function () {
$(this).stop().animate({ backgroundColor: "#738793", textIndent: 0 }, 250);
}
$("nav ul li").hover(
function () {
$(this).children('ul.child').stop().slideDown('fast').children('li').hover(breadcrumbOver, breadcrumbOut);
},
function () {
$(this).children('ul.child').stop().slideUp('fast').unbind(breadcrumbOver, breadcrumbOut);
}
);
});
メモリリークが発生している可能性のある場所を誰かが確認できますか?
編集:ここでの実例-http: //rcnhca.org.uk/sandbox/(「Health、Safety and Security」を繰り返しロールオーバーしてから、その子をロールオーバーして効果が発生することを確認します。また、アニメーションのslideDownが起動しない場合もあります。十分な速さでロールインおよびロールアウトします)。